"=="运算符
- 如果比较的是基本数据类型,则比较两个变量的数据是否相等。(不一定类型要相同)
- 如果比较的是引用数据类型,则比较两个对象的地址是否相等。
equals方法(Object类的方法):
- 非运算符,只适用于引用数据类型
- 如果equals方法没有被重写作用和"=="相同,比较两个对象的地址值是否相同。
- String、Date、File、包装类都重写了Object类中的equals方法。重写后比较的是两个对象的实体内容是否相同。
- 自定义类如果需要使用equals方法比较对象的实体内容,需要重写equals方法。
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;
}