Skip to content

Instantly share code, notes, and snippets.

@Yasushi
Created March 23, 2013 03:20
Show Gist options
  • Save Yasushi/5226290 to your computer and use it in GitHub Desktop.
Save Yasushi/5226290 to your computer and use it in GitHub Desktop.
import java.util.List;
public class str {
private List<String> list;
private String suffix = ".";
public void someMethod(String s){}
public void plus(){
for (String s : list) {
String str = "abc" + s + suffix;
someMethod(str);
}
}
public void sb(){
// StringBuilder
for (String s : list) {
StringBuilder sb = new StringBuilder();
sb.append("abc");
sb.append(s);
sb.append(suffix);
someMethod(sb.toString());
}
}
}
Compiled from "str.java"
public class str extends java.lang.Object{
public str();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: aload_0
5: ldc #2; //String .
7: putfield #3; //Field suffix:Ljava/lang/String;
10: return
public void someMethod(java.lang.String);
Code:
0: return
public void plus();
Code:
0: aload_0
1: getfield #4; //Field list:Ljava/util/List;
4: invokeinterface #5, 1; //InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
9: astore_1
10: aload_1
11: invokeinterface #6, 1; //InterfaceMethod java/util/Iterator.hasNext:()Z
16: ifeq 64
19: aload_1
20: invokeinterface #7, 1; //InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
25: checkcast #8; //class java/lang/String
28: astore_2
29: new #9; //class java/lang/StringBuilder
32: dup
33: invokespecial #10; //Method java/lang/StringBuilder."<init>":()V
36: ldc #11; //String abc
38: invokevirtual #12; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
41: aload_2
42: invokevirtual #12; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
45: aload_0
46: getfield #3; //Field suffix:Ljava/lang/String;
49: invokevirtual #12; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
52: invokevirtual #13; //Method java/lang/StringBuilder.toString:()Ljava/lang/String;
55: astore_3
56: aload_0
57: aload_3
58: invokevirtual #14; //Method someMethod:(Ljava/lang/String;)V
61: goto 10
64: return
public void sb();
Code:
0: aload_0
1: getfield #4; //Field list:Ljava/util/List;
4: invokeinterface #5, 1; //InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
9: astore_1
10: aload_1
11: invokeinterface #6, 1; //InterfaceMethod java/util/Iterator.hasNext:()Z
16: ifeq 70
19: aload_1
20: invokeinterface #7, 1; //InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
25: checkcast #8; //class java/lang/String
28: astore_2
29: new #9; //class java/lang/StringBuilder
32: dup
33: invokespecial #10; //Method java/lang/StringBuilder."<init>":()V
36: astore_3
37: aload_3
38: ldc #11; //String abc
40: invokevirtual #12; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
43: pop
44: aload_3
45: aload_2
46: invokevirtual #12; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
49: pop
50: aload_3
51: aload_0
52: getfield #3; //Field suffix:Ljava/lang/String;
55: invokevirtual #12; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
58: pop
59: aload_0
60: aload_3
61: invokevirtual #13; //Method java/lang/StringBuilder.toString:()Ljava/lang/String;
64: invokevirtual #14; //Method someMethod:(Ljava/lang/String;)V
67: goto 10
70: return
}
Compiled from "str.java"
public class str {
public str();
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: aload_0
5: ldc #2 // String .
7: putfield #3 // Field suffix:Ljava/lang/String;
10: return
public void someMethod(java.lang.String);
Code:
0: return
public void plus();
Code:
0: aload_0
1: getfield #4 // Field list:Ljava/util/List;
4: invokeinterface #5, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
9: astore_1
10: aload_1
11: invokeinterface #6, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
16: ifeq 64
19: aload_1
20: invokeinterface #7, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
25: checkcast #8 // class java/lang/String
28: astore_2
29: new #9 // class java/lang/StringBuilder
32: dup
33: invokespecial #10 // Method java/lang/StringBuilder."<init>":()V
36: ldc #11 // String abc
38: invokevirtual #12 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
41: aload_2
42: invokevirtual #12 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
45: aload_0
46: getfield #3 // Field suffix:Ljava/lang/String;
49: invokevirtual #12 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
52: invokevirtual #13 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
55: astore_3
56: aload_0
57: aload_3
58: invokevirtual #14 // Method someMethod:(Ljava/lang/String;)V
61: goto 10
64: return
public void sb();
Code:
0: aload_0
1: getfield #4 // Field list:Ljava/util/List;
4: invokeinterface #5, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
9: astore_1
10: aload_1
11: invokeinterface #6, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
16: ifeq 70
19: aload_1
20: invokeinterface #7, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
25: checkcast #8 // class java/lang/String
28: astore_2
29: new #9 // class java/lang/StringBuilder
32: dup
33: invokespecial #10 // Method java/lang/StringBuilder."<init>":()V
36: astore_3
37: aload_3
38: ldc #11 // String abc
40: invokevirtual #12 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
43: pop
44: aload_3
45: aload_2
46: invokevirtual #12 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
49: pop
50: aload_3
51: aload_0
52: getfield #3 // Field suffix:Ljava/lang/String;
55: invokevirtual #12 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
58: pop
59: aload_0
60: aload_3
61: invokevirtual #13 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
64: invokevirtual #14 // Method someMethod:(Ljava/lang/String;)V
67: goto 10
70: return
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment