我有点告诉某人,我们必须使用 String.equals 方法来比较两个字符串值,我们不能简单地在 java 中使用 == 运算符来比较字符串,并告诉他 == 将返回 false,因为它不会比较字符串值但字符串对象引用值。
我写了这个例子来给他看,但令我惊讶的是它总是为 == 运算符打印 true .. 这是代码
public void exampleFunc1(){
String string1 = "ABC";
String string2 = "ABC";
if(string1 == string2)
System.out.println("true");
else{
System.out.println("false");
}
System.out.println(" Are they equal "+(string1 == string2)); // this shouldn't print True but it does
System.out.println(" Are they equal "+(string1.equals(string2)));
}
输出:-
它们是否相等真实
它们是否相等真实
所以这里的问题是在什么情况下 == 对象上的运算符可以打印 true,除了两个对象是同一个实例?