美文网首页
重载equals方法时要遵守的通用约定--自反性,对称性,传递性

重载equals方法时要遵守的通用约定--自反性,对称性,传递性

作者: Arya鑫 | 来源:发表于2017-09-08 21:56 被阅读157次

    quals方法实现了等价关系,重载时要遵守的通用约定:

    a.自反性(reflexive)  

    对于任何非null的引用值x, x.equals(x)必须返回true。

    基本上不会违背这一条规定。如果违背了的话,将一个引用添加到一个集合中,然后,调用集合的contains(x)方法,它会返回false。x.equals(x)不等于true,导致contains(x)方法返回false。

    b.对称性(symmetric)  

    对于任何非null的引用值x和y,当且仅当y.equals(x)返回true时,x.equals(y)必须返回true

    c.传递性(transitive)   

    对于任何非null的引用值x,y和z,如果x.equals(y)返回true,并且y.equals(z)返回true,那么x.equals(z)返回true

    d.一致性      

    对于任何非null的引用值x和y,只要equals的比较操作在对象中所用的信息没有被修改,多次调用x.equals(y)就会一致地返回

    true,或者一致地返回false

    e.非空性

    对于任何非null的引用值x,x.equals(null)必须返回false


    http://www.cnblogs.com/ttylinux/p/6539436.html

    相关文章

      网友评论

          本文标题:重载equals方法时要遵守的通用约定--自反性,对称性,传递性

          本文链接:https://www.haomeiwen.com/subject/dzbnjxtx.html