众所周知,equals()对象的方法如果不被覆盖,则是"浅比较",等同于使用"=="运算符.(例如,参见https://docs.oracle.com/javase/tutorial/java/IandI/objectclass.html.)
问题:为什么Java equals()默认不提供"深度比较" 方法?也就是说,将equals()递归地调用每个实例变量.最终,递归将达到原始类型并停止.如果这种深度比较等于默认值,是否有任何缺点?
And*_*mas 11
如果这种深度比较等于默认值,是否有任何缺点?
是.这些包括:
当前的默认实现很快,不做任何假设.这是一个很好的默认值.有时,您将需要使用您对对象的逻辑值包含的内容的了解来覆盖默认值,而不管其根物理表示形式如何.
| 归档时间: |
|
| 查看次数: |
443 次 |
| 最近记录: |