String str0 = “ab”;
String str1 = “abc”;
String str2 = “abc”;
String str3 = “ab” + “c”;
String str4 = str0 + “c”;
String str5 = new String(“abc”);
String str6 = new String(“ab”) + “c”;
编译器会将str1和str2指向的地址相同,对于str3和str4编译器会先进行优化成abc,所以str1,str2,str3,str4指向的是同一块地址,而对于str5才会单独分配地址,对于str6来说也会单独的分配地址。
对于EditView来说,每次进行getText().toString();时都会重新分配地址。
当我们判断一个字符串是不是他本身自己的时候,可以通过==操作符来判断,而不用equals()方法。