public class str {
public static void main(String args[]){
int value=1;
String str1="ABC"+value;
String str2="ABC"+1;
String str3=str1;
String str4="ABC1";
String str5="ABC"+value;
boolean a=(str1==str2);
boolean b=(str1==str3);
boolean c=(str1==str4);
boolean d=(str1==str5);
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
结果为什么是
false
true
false
false
str1与str2与str5为什么不等 3和1 却相等
用==不是比较地址吗 那么str1+value的地址就变了吗