关于复写equals方法的诀窍

1.使用“==”操作符检查“参数是否为这个对象的引用” (一般不需要考虑,这只是一种性能优化)

2.使用instanceof操作符检查“参数是否为正确的类型” 。一般来说所谓“正确类型”是指equals方法所在的那个类,在类型转换之前最好检查一下类型安全。

3.对于该类的关键域,检查参数中的域是否与该对象中的对应的域相匹配 。对于既不是float也不是double类型的基本类型,可以使用==操作符进行比较;对于对象引用域,可以递归的调用equals方法;对于float域,可以使用Float.compare方法;对于double域,则使用Double.compare;对于数组域的话,则要把以上的这些指导原则应用到每个元素上,如果数组域中每个元素都很重要,就可以使用发行版本1.5中新增的其中一个Arrays.equals方法。域的比较顺序可能会影响equals方法的性能,应该首先比较最有可能不一致的域。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值