equals()方法是判断两个对象是否一致的,如果不实现该方法,那么只能使用object默认的equals(),这个只有在两个对象是同一个对象,亦即 地址一样的情况下才返回true; Comparable接口是处理两个对象,排在前,排在后的问题的;实现hashcode()方法,是为了保证在hashtable和hashmap中使用该类的对象可以快速查找到,这牵涉到hashtable和hashmap的查找机制----先确定hashcode,再在这个集合中查找。
总之,如果你的类是数据结构类,需要作比较,要用来排序,那就需要实现equals()和compareTo()方法;如果该类的对象要用在hashtable或hashmap中保存,那就需要实现hashcode()方法;反之,如果你的类,就是个方法类,那这几个方法都没必要实现,如java中的Collections类就没有实现这几个方法。 |