在Java中,是否存在不等于自身的String ?什么时候str.equals(str)为False?



是否存在一个字符串str.equals(str)为假?

或者换句话说:

if(!str.equals(str)){
System.out.println("-1");
}

是否有任何方法println行代码被测试覆盖?

不可能。下面是java 17中的源代码。如您所见,当两个对象相同时,equals方法总是返回true

public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
return (anObject instanceof String aString)
&& (!COMPACT_STRINGS || this.coder == aString.coder)
&& StringLatin1.equals(value, aString.value);
}

最新更新