Object object = 1;
System.out.println(object.getClass());
if("1".equals(object))
System.out.println("1");
else
System.out.println("惊了");
本以为走if 实际测试代码走到了else
请大佬解释下这个equals比较的是什么
Object object = 1;
System.out.println(object.getClass());
if("1".equals(object))
System.out.println("1");
else
System.out.println("惊了");
本以为走if 实际测试代码走到了else
请大佬解释下这个equals比较的是什么
看源码,先看是不是String类型
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}