本帖最后由 ctreess 于 2011-06-19 13:41:52 编辑

解决方案 »

  1.   

    是不是先用hashcode方法找到firstName相同的,然后再用equals比较?
      

  2.   

    hashcode是帮助JVM在将该对象放到散列表时给该对象生成索引键值时用的对于不同的对象,这个键值并不要求必须不同,散列表自有算法保证它们都能被成功放入但是键值相同的次数越少,放入散列表的效率越高。        public int hashCode() {
                return firstName.hashCode();
            }
    所以这个写法是没问题的。但是如果写成
            public int hashCode() {
                return firstName.hashCode() + lastName.hashCode();
            }
    效率会更高