- java的类成员变量,java会自动初始化,默认初始化类型的零值。局部变量必须显式初始化才能使用,否则编译器会报错。
- java对String的”+”运算符提供了特别支持,使用的是StringBuilder或StringBuffer的append()方法
- Arrays.copyOf(char []original,int newLength); 复制char数组的方法,复制original数组到一个新数组并返回新数组,newLength为新数组的长度,若newLength大于原数组长度,返回新数组多余部分填充空值,若小于则截断。
- 凡用字面量创建的字符串对象存储在虚拟机方法区的常量池中,如
String s = "abc"
。而通过 new
创建的对象储存在java堆中。
public class TestString {
public static void main(String[] args) {
String str = "abcd";
String s = "d";
String str1 = "abc"+"d";
System.out.println(str1==str);
String str2 = "abc"+new String("s");
System.out.println(str==str2);
String str3 = "abc"+s;
System.out.println(str==str3);
String str4 = str.intern();
System.out.println(str==str4);
System.out.println(str2==str4);
System.out.println(str3==str4);
String str5 = "welcome "+"to "+"java "+"world";
String string = "abc1";
String str6 = "abc"+1;
System.out.println(string==str6);
final String d = "d";
String str7 = "abc"+d;
System.out.println(str==str7);
}
}