集合Set判断对象是否相等的equals和hashCode
2013-03-19 20:52
471 查看
import java.util.Date; import java.util.HashSet; import java.util.Set; public class Test { public static void main(String[] args) { Set set = new HashSet(); set.add(new String("abc")); set.add(new Date()); set.add(new Integer(20)); set.add(null); //添加自定义类型的对象, Person p = new Person("10", "张三"); set.add(p); //如果要表示重复,必须重写hashCode和equals方法 Person p2 = new Person("10", "张三"); set.add(p2); System.out.println("p和p2相等吗?"+p.equals(p2));//true } } class Person{ private String id; private String name; public Person(String id, String name) { super(); this.id = id; this.name = name; } @Override public boolean equals(Object obj) { if(this == obj){ //是不是对象? return true; } if(obj instanceof Person){ //是人这个对象吗? Person person = (Person)obj; //传入的对象还原人类 if(this.id == person.id && this.name.equals(person.name)){ return true; //判断是否号码,名字,相等?对,回true; } } return false; } @Override public int hashCode() { return id.hashCode(); //id是String类型的,回int类型调hashCode(). } //如果那个数是整型的,直接回那个值 }
相关文章推荐
- [置顶] 判断两个对象是否相等,hashcode和equals方法的联系
- java 判断两个对象是否相等 equals 和 hashcode() 的必要性
- 判断两个对象是否相等,为什么必须同时重写equals()和hashcode()方法
- 正确重写hashcode hashcode与equals方法 集合元素如何判断是否相等 集合如何查看是否包含某个元素
- equals和hashcode方面判断对象是否相等是很重要的
- java 判断两个对象是否相等 equals 和 hashcode() 的必要性
- 判断两个对象是否相等,为什么必须同时重写equals()和hashcode()方法
- 判断两个对象相等 和重写equals、 hashcode
- Java中判断对象是否相等的equals()方法使用教程
- Java中如何判断两个对象是否相等(Java equals and ==)
- 判断Set里的元素是否重复、==、equals、hashCode方法研究-代码演示
- 判断对象是否相等---重写equals方法
- 判断Set里的元素是否重复、==、equals、hashCode方法研究-代码演示
- JAVA--HashCode 基础(判断对象是否相等)
- 对象相等判断时,覆写equals方法时同时覆写hashcode方法
- 判断Set集合是否包含指定对象
- java积累---------java判断两个set里的对象值完全相同----两个set中的值是否相等
- java怎么判断两个Set 里的对象的值是否相同【两个set中的值是否相等】、java treeset和hashset如何判断元素是否相同【即对象是否完全相同;利用一个set去除重复元素】
- 在java的集合中是怎么判断两个对象是否相等的?(重要!)
- 默认的Equals并非是判断两个对象相等,而是判断是否是同一引用