A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邵中国 中级黑马   /  2012-4-17 12:51  /  1682 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

正确的equals()必须满足以下5个条件
1.自反性。对任意x,x.equals(x)一定返回true。
2.对称性。对任意x和y,若果y.equals(x)返回true,则x.equals(y)也返回true。
3.传递性。对任意x,y,z,如果有x.equals(y)返回true,y.equals(z)返回true,则x.equals(z)一定返回true。
4.一致性。对任意x和y,如果对象中用于等价比较的信息没有改变,那么无论调用多少次x.equals(y),返回的结果应该保持一致,要么一直是true,要么一直是false。
5.对任意不是null的x,x.equals(null)一定返回false。
如果要使用自己的类作为HashMap的键,必须同时重载hashCode()和equals()

比较模糊

在此版的第一帖啊{:soso_e129:}

2 个回复

正序浏览
Object类是所有类的父类,Object中有一个equals(Object obj)方法,该方法public boolean equals(Object obj) {
        return (this == obj);
    }默认是比较两个对象的引用是否相同,不是内容是否相同,要想按自己的意愿比较,必须重写public boolean equals(Object obj)方法。
回复 使用道具 举报
{:soso_e101:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马