以下是String类中的equals方法:
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String aString = (String)anObject;
if (coder() == aString.coder()) {
return isLatin1() ? StringLatin1.equals(value,aString.value)
: StringUTF16.equals(value, aString.value);
}
}
return false;
}
比较是什么:第一个if语句的意思是'this == anObject'?
答案 0 :(得分:1)
它比较作为参数传递的对象和您调用的对象等于的内存地址。如果它们在相同的内存地址中,则它们显然是同一对象。
否则,它会继续检查其他比较方式,如果它们实际上是等效的对象。