public static void main(String[] args) {
String str1 = "aaa";
String str2 = "aaa";
String str3 = new String("aaa");
String str4 = str1+"";
String str5 = "aa"+"a";
System.out.println(str1 == str3);
System.out.println(str1.equals(str3));
System.out.println(str1==str2);
System.out.println(str1 == str4);
System.out.println(str3 == str4);
System.out.println(str1 == str5);
/**
* String 相加 ==> str4 = str1+"";
*/
/*
String str1 = "aaa";
StringBuilder sb = new StringBuilder();
sb.append(str1).append("");
String str4 = sb.toString();
*/
}
结果:
false
true
true
false
false
true
所以有大量“+”的拼接操作时用StringBuilder 或者StringBuffer会省下很多内存;
StringBuilder和StringBuffer作用类似,只是StringBuffer的由于增加了同步锁是线程安全的,但是会稍微影响性能;