在Java中,equals()方法用于比较两个对象是否相等。equals()方法的默认实现是比较两个对象的引用地址是否相等,即比较对象是否是同一个对象。如果需要自定义equals()方法来比较对象的内容,可以按照下列步骤操作:
在类中重写equals()方法,方法签名为:public boolean equals(Object obj)。这里的参数obj就是要比较的对象。在equals()方法中,首先判断传入的参数是否为null,是否是当前类的实例。可以使用instanceof关键字进行判断。将参数对象强制转换为当前类的类型,并将其与当前对象的属性进行比较。您可以使用= =运算符或equals()方法来比较属性。返回true如果所有属性都相等;否则返回false。下面是一个示例代码:
公共类人员{
私有字符串名称;
私人年龄;
公共人物(字符串名称,整数){
this.name = name
this.age =年龄;
}
@覆盖
公共布尔等于(对象对象){
//判断传入的参数是否为空,是否为当前类的实例。
if (obj == null ||!(人的对象实例)){
返回false
}
//将参数对象强制转换为当前类的类型。
Person other Person =(Person)obj;
//比较各种属性
if(this . name . equals(other person . name)& & this . age = = other person . age){
返回true
}
返回false
}
//省略getter和setter方法以及其他代码。
}使用示例:
Person person1 =新人(“Tom”,20);
Person person2 =新人(“Tom”,20);
Person person3 =新人(“约翰”,30);
system . out . println(person 1 . equals(person 2));//输出true
system . out . println(person 1 . equals(person 3));//Output false在上面的例子中,equals()方法被重写以比较Person对象的name和age属性是否相等。
以上内容来自互联网,不代表本站全部观点!欢迎关注我们:zhujipindao。com
评论前必须登录!
注册