public void concatStrings(){
String a = "Hello";
String b = "Johnny";
String c = "Dew";
String result = a + b + c;
}
|
.method public concatStrings()V
.limit stack 3
.limit locals 5
.var 0 is this Lcom/crack/java/StringConcat; from Label0 to Label1
.var 1 is a Ljava/lang/String; from Label2 to Label1
.var 2 is b Ljava/lang/String; from Label4 to Label1
.var 3 is c Ljava/lang/String; from Label6 to Label1
.var 4 is result Ljava/lang/String; from Label1 to Label1
Label0:
ldc "Hello"
astore_1
Label2:
ldc "Johnny"
astore_2
Label4:
ldc "Dew"
astore_3
Label6:
new java/lang/StringBuilder
dup
aload_1
invokestatic java/lang/String/valueOf(
invokespecial java/lang/StringBuilder/<init>
aload_2
invokevirtual java/lang/StringBuilder/
aload_3
invokevirtual java/lang/StringBuilder/
invokevirtual java/lang/StringBuilder/
astore 4
Label1:
return
.end method
|
public void concatStrings(){
String a = "Hello";
String b = "Johnny";
String c = "Dew";
String result = null;
result += a;
result += b;
result += c;
}
|
.method public concatStrings()V
.limit stack 3
.limit locals 5
.var 0 is this Lcom/crack/java/
.var 1 is a Ljava/lang/String; from Label2 to Label1
.var 2 is b Ljava/lang/String; from Label4 to Label1
.var 3 is c Ljava/lang/String; from Label6 to Label1
.var 4 is result Ljava/lang/String; from Label8 to Label1
Label0:
ldc "Hello"
astore_1
Label2:
ldc "Johnny"
astore_2
Label4:
ldc "Dew"
astore_3
Label6:
aconst_null
astore 4
Label8:
new java/lang/StringBuilder
dup
aload 4
invokestatic java/lang/String/valueOf(
invokespecial java/lang/StringBuilder/<init>
aload_1
invokevirtual java/lang/StringBuilder/
invokevirtual java/lang/StringBuilder/
astore 4
new java/lang/StringBuilder
dup
aload 4
invokestatic java/lang/String/valueOf(
invokespecial java/lang/StringBuilder/<init>
aload_2
invokevirtual java/lang/StringBuilder/
invokevirtual java/lang/StringBuilder/
astore 4
new java/lang/StringBuilder
dup
aload 4
invokestatic java/lang/String/valueOf(
invokespecial java/lang/StringBuilder/<init>
aload_3
invokevirtual java/lang/StringBuilder/
invokevirtual java/lang/StringBuilder/
astore 4
Label1:
return
.end method
|
public void concatStrings(){
String a = "Hello";
String b = "Johnny";
String c = "Dew";
StringBuilder builder = new StringBuilder(a);
builder.append(b);
builder.append(c);
String result = builder.toString();
}
|
.method public concatStrings()V
.limit stack 3
.limit locals 6
.var 0 is this Lcom/crack/java/
.var 1 is a Ljava/lang/String; from Label2 to Label1
.var 2 is b Ljava/lang/String; from Label4 to Label1
.var 3 is c Ljava/lang/String; from Label6 to Label1
.var 4 is builder Ljava/lang/StringBuilder; from Label8 to Label1
.var 5 is result Ljava/lang/String; from Label1 to Label1
Label0:
ldc "Hello"
astore_1
Label2:
ldc "Johnny"
astore_2
Label4:
ldc "Dew"
astore_3
Label6:
new java/lang/StringBuilder
dup
aload_1
invokespecial java/lang/StringBuilder/<init>
astore 4
Label8:
aload 4
aload_2
invokevirtual java/lang/StringBuilder/
pop
aload 4
aload_3
invokevirtual java/lang/StringBuilder/
pop
aload 4
invokevirtual java/lang/StringBuilder/
astore 5
Label1:
return
.end method
|





