String str = "abc/";
StringOne.java String str1 = "abc" + '/'; String str2 = "abc" + "/"; System.out.println(str1 == str2);
javap -v -l StringOne.class > StringOne.s
StringOne.s #2 = String #20 // abc/ ... #20 = Utf8 abc/ ... 0: ldc #2 // String abc/ 2: astore_1 3: ldc #2 // String abc/ 5: astore_2
StringTwo
public static String stringAddString(String str1, String str2){
return str1 + str2;
}
public static String stringAddChar(String str, char ch){
return str + ch;
}
StringTwo.s
public java.lang.String stringAddString(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
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: invokevirtual #5 // Method java/lang/StringBuilder. toString:()Ljava/lang/String;
18: areturn
public java.lang.String stringAddChar(java.lang.String, char);
descriptor: (Ljava/lang/String;C)Ljava/lang/String;
flags: ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
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: iload_2
12: invokevirtual #6 // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder;
15: invokevirtual #5 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
18: areturn
public AbstractStringBuilder append(char c) {
ensureCapacityInternal(count + 1); // 确保数组能够容纳count+1个字符
value[count++] = c;
return this;
}
public AbstractStringBuilder append(String str) {
if (str == null)
return appendNull();
int len = str.length();
ensureCapacityInternal(count + len);
str.getChars(0, len, value, count); // 拷贝字符串中的字符数组到本对象的字符数组中
count += len;
return this;
}
String str1 = "abc" + "123"; // 1
StringBuilder stringBuilder = new StringBuilder(); // 2
stringBuilder.append("abc");
stringBuilder.append("123");
String str2 = stringBuilder.toString();
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有