使用==vs.equals比较java中的字符串
所以我知道==检查引用号(内存中对象的地址)是否相等。.equals()检查对象的内容使用==vs.equals比较java中的字符串,java,Java,所以我知道==检查引用号(内存中对象的地址)是否相等。.equals()检查对象的内容 String s = "test"; String s2 = "test"; 我正在创建两个不同的字符串对象,但得到以下结果: s == s2; //true, I dont know why, aren't s and s2 two different objects with different internal values s.equals(s2); //true, wh
String s = "test";
String s2 = "test";
我正在创建两个不同的字符串对象,但得到以下结果:
s == s2; //true, I dont know why, aren't s and s2 two different objects with
different internal values
s.equals(s2); //true, which I understand
s和s2不是两个不同的对象吗
否。s
和s2
指的是在String
池中驻留的同一对象
s和s2不是两个不同的对象吗
否。
s
和s2
指的是在String
pool中驻留的同一对象,这已在中进行了详细解释。因此,无论何时说String something=“something”
时,引用变量something
都指的是同一对象?是的。前提是“某物”已经实习。您可以使用new String(“test”)
显式创建一个不同的对象,以便在第一次测试中返回false
,因此,每当您说String something=“something”
时,引用变量something
引用同一对象?是的。前提是“某物”已经实习。您可以使用newstring(“test”)
显式创建另一个对象,以便在第一次测试中返回false