(1).==可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同。
(2).对于String a = “a”; Integer b = 1;这种类型的特有对象创建方式,==的时候值是相同的。
(3).基本类型没有equals方法,equals只比较值(对象中的内容)是否相同(相同返回true)。
(4).一个类如果没有定义equals方法,它将默认继承Object中的equals方法,返回值与==方法相同。
下面说说equals 方法:
equals 方法是Object类中的一个方法,一般会被子类复写,像String类就复写了Object类的equals方法,String类的equals方法是比较的字符串的内容(建议查看String类源代码就一清二楚了),如果子类没有复写Object类的equals方法的话,那么Object类的equals方法是这样实现的,源代码:
public boolean equals(Object obj) {
return (this == obj);
}
所以如果子类不重写equals方法的话,它就等价于==,,,,
|