一切类都是Object的子类,Object有equals方法,因此所有对象都有equals方法。
此方法可以按程序自己的规则判断两个对象是否相等,比如以下代码:
String a = new String("hi");
String b = new String("hi");
System.out.println(a==b); //打印false
System.out.println(a.equals(b)); //打印true
以上代码是因为String类重写了equals方法。 原始的equals方法为:
public boolean equals(Object obj)
{
return this==obj;
}
当==运算符比较基本类型时不管数据类型只比较实际值,如’A’和65.0是相等的。
当比较引用类型变量(除基本类型的包装类,因为其会自动拆箱)时,==运算符要求被比较的两个引用变量指向相同的对象。