首页 > 代码库 > 对Equals()方法的重写
对Equals()方法的重写
//手动的实现equals()方法 // 重写Object类的equals(Object obj)方法,保证两个对象若属性值完全相等,则返回true public boolean equals(Object obj){ if(this==obj){ return true; }else if(obj instanceof Person){ Person p=(Person)obj; return this.getId()==p.getId()&&this.getAge()==p.getAge()&&this.getName().equals(p.getName()); }else return false; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof Person)) { return false; } Person other = (Person) obj; if (age != other.age) { return false; } if (id != other.id) { return false; } if (name == null) { if (other.name != null) { return false; } } else if (!name.equals(other.name)) { return false; } return true; }
String类中对Equals()的重写为:
public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String)anObject; int n = value.length; if (n == anotherString.value.length) { char v1[] = value; char v2[] = anotherString.value; int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; } return true; } } return false; }
本文出自 “第一天的课” 博客,请务必保留此出处http://5453607.blog.51cto.com/5443607/1536155
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。