Java Object equals() 方法
Object equals() 方法用于比较两个对象是否相等。
equals() 方法比较两个对象,是判断两个对象引用指向的是同一个对象,即比较 2 个对象的内存地址是否相等。
注意:如果子类重写了 equals() 方法,就需要重写 hashCode() 方法,比如 String 类就重写了 equals() 方法,同时也重写了 hashCode() 方法。
语法
object.equals(Object obj)
参数
obj - 要比较的对象。
返回值
如果两个对象相等返回 true,否则返回 false。
实例
以下实例演示了 equals() 方法的使用:
实例
classRunoobTest{publicstaticvoidmain(String[]args){// Object 类使用 equals() 方法// 创建两个对象Objectobj1 = newObject();
Objectobj2 = newObject();
// 判断 obj1 与 obj2 是否相等// 不同对象,内存地址不同,不相等,返回 falseSystem.out.println(obj1.equals(obj2)); // false// obj1 赋值给 obj3// String 重写了 equals() 方法// 对象引用,内存地址相同,相等,返回 trueObjectobj3 = obj1;
System.out.println(obj1.equals(obj3)); // true}}
以上程序执行结果为:
false true
String 类重写了 equals() 方法,用于比较两个字符串是否相等:
实例
classRunoobTest{publicstaticvoidmain(String[]args){// String 类使用 equals() 方法// 创建两个对象Stringobj1 = newString();
Stringobj2 = newString();
// 判断 obj1 与 obj2 是否相等// 初始化的两个对象都为 null,所以是相等,返回 trueSystem.out.println(obj1.equals(obj2)); // true// 给对象赋值obj1 = "Runoob";
obj2 = "Google";
// 判断 obj1 与 obj2 是否相等// 两个值不同,内存地址也不同,所以不相等,返回 falseSystem.out.println(obj1.equals(obj2)); // false}}
以上程序执行结果为:
true false