Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class One {
- private final Object o = new Object();
- private final String s = (String) o;
- }
- -----
- javap -c One:
- public One();
- Code:
- 0: aload_0
- 1: invokespecial #1; //Method java/lang/Object."<init>":()V
- 4: aload_0
- 5: new #2; //class java/lang/Object
- 8: dup
- 9: invokespecial #1; //Method java/lang/Object."<init>":()V
- 12: putfield #3; //Field o:Ljava/lang/Object;
- 15: aload_0
- 16: aload_0
- 17: getfield #3; //Field o:Ljava/lang/Object;
- 20: checkcast #4; //class java/lang/String
- 23: putfield #5; //Field s:Ljava/lang/String;
- 26: return
- }
- ================================
- public class Two {
- private final Object o = new Object();
- private final String s = String.class.cast(o);
- }
- -----
- javap -c Two:
- public Two();
- Code:
- 0: aload_0
- 1: invokespecial #1; //Method java/lang/Object."<init>":()V
- 4: aload_0
- 5: new #2; //class java/lang/Object
- 8: dup
- 9: invokespecial #1; //Method java/lang/Object."<init>":()V
- 12: putfield #3; //Field o:Ljava/lang/Object;
- 15: aload_0
- 16: ldc_w #4; //class java/lang/String
- 19: aload_0
- 20: getfield #3; //Field o:Ljava/lang/Object;
- 23: invokevirtual #5; //Method java/lang/Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
- 26: checkcast #4; //class java/lang/String
- 29: putfield #6; //Field s:Ljava/lang/String;
- 32: return
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement