public static void main(String[] args){
one();
two();
three();
}
public static void one() {
String s1 = "hill5";
String s2 = "hill" + 5;
System.out.println(s1==s2);
}
public static void two() {
String s1 = "hill5";
int i =5;
String s2 = "hill" + i;
System.out.println(s1==s2);
}
public static void three() {
String s1 = "hill5";
String s2 = "hill" + s1.length();
System.out.println(s1==s2);
}
输出是
true
false
false
字符串文字使用实习过程,那么为什么two()
和three()
是错误的。我可以理解three()
但two()
不清楚。但需要对这两种情况进行适当的解释。
有人可以解释一下正确的理由吗?