初始化方法一:
String str1=new String("abc");
String str2=new String("abc");
System.out.println(str1==str2);
System.out.println(str1.equals(str2));
//输出结果为:
// false
//true
用new String初始化的存储方式:
初始化方法2:
String str1="abc";
String str2="abc";
System.out.println(str1==str2);
System.out.println(str1.equals(str2));
//输出结果:
//true
//true
用"="初始化的存储方式:
此方法初始化时先在栈中创建常量"abc",然后创建匿名的new String()来将"abc"赋给str1。当初始化str2时,先在栈中查找是否存在常量"abc",若存在,则直接用用一个new String()方法将"abc"赋给str2。
ps:
1.操作少,数据少,用String()
2.单线程,操作多,数据多,用StringBuilder()
3.多线程,操作多,数据多,用StringBuffer()