我了解到,在Java中,==
检查两个变量是否引用相同的对象,.equals()
检查两个变量的值是否相等。我很清楚,但这段代码再次让我感到困惑。
public class Application {
public static void main(String[] args) {
String one = "Hello";
String two = "Hello";
if(one == two) {
System.out.println("one == two");
}
else {
System.out.println("one != two");
}
}
}
输出为one == two
,但one
和two
是两个不同的对象,即使它们具有相同的值,它们如何引用同一个对象?