I have compiled following class using javac 1.6.0_38

class X{
    public String m(String a, String b, String c){
        return a + b + c;
    }
}


and decoupled using javap


class X {
  X();
    Code:
       0: aload_0
       1: invokespecial #1                  // Method
java/lang/Object."<init>":()V
       4: return

  public java.lang.String m(java.lang.String, java.lang.String,
java.lang.String);
    Code:
       0: new           #2                  // class java/lang/StringBuilder
       3: dup
       4: invokespecial #3                  // Method
java/lang/StringBuilder."<init>":()V
       7: aload_1
       8: invokevirtual #4                  // Method
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      11: aload_2
      12: invokevirtual #4                  // Method
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      15: aload_3
      16: invokevirtual #4                  // Method
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
      19: invokevirtual #5                  // Method
java/lang/StringBuilder.toString:()Ljava/lang/String;
      22: areturn
}

As you can see, there are three appends but only one StringBuilder objects.
Therefor I purpose using plus instead of append in our code.



--
With regards,
*Manu*ranga Perera.

phone : 071 7 70 20 50
mail : m...@wso2.com
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to