JavaSE学习之Object方法equals()

java.lang.Object;
public boolean equals(Object object){ }

默认实现方式为(this == object),比较两个对象地址是否相同。

可以被覆盖,覆盖后比较的是两个对象的内容是否相同。

equals()方法覆盖步骤
1.比较两个引用是否指向同一个对象。
2.判断obj是否为null。
3.判断两个引用指向的实际对象类型是否一致。
4.强制类型转换。
5.依次比较各个属性是否相同。
例如:

class Student {
	
	private 类型1 属性名1;
	private 类型2 属性名2;
	private 类型3 属性名3;
	private 类型4 属性名4;
	
	//省略构造方法
	
	//省略set、get
	
	 @Override
    public boolean equals(Object obj) {
		//1.判断是否为同一个对象(地址是否相同)
        if (this == obj ){return true;}
        //2.判断是否为空指针
        if (obj == null ){return false;}
        //3.判断是否为同类型
        if (this.getClass() != obj.getClass()){ return false; }
        //4.强转为实现类类型
        Student s = (Student)obj;
        //5.比较内容(实现类的属性值)是否相同
        if (this.属性名1.equals(s.属性名1) && this.属性名2.equals(s.属性名2)
                && this.属性名3.equals(s.属性名3) && this.属性名4.equals(s.属性名4)) {
            return true;
        }
		//6.默认返回不相同
        return false;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值