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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

lion_2010509

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

import java.util.*;

class Person
{
        private String name;
        private int age;
        Person(String name, int age)
        {
                this.name = name;
                this.age = age;
        }
        public int hashCode()
        {
                System.out.println(this.name+"....hashcode");
                return name.hashCode()+age;
        }
        public boolean equals(Object obj)
        {
                if(!(obj instanceof Person))
                        return false;
                Person p =(Person)obj;
                System.out.println(this.name+"....equals.."+p.name);
                return this.name.equals(p.name)&&this.age==p.age;
        }
        public String getName()
        {
                return name;
        }
        public int getAge()
        {
                return age;
        }
}
class HashSetDemo1
{
        public static void main(String[] args)
        {
                HashSet hs = new HashSet();
                hs.add(new Person("a1",12));
               
               
                hs = getHash(hs);
                sop(hs);
                sop("a1"+hs.contains(new Person("a1",12)));为什么这个SOP在迭代前是true,迭代回来后是false,不明



        }
        public static void sop(Object obj)
        {
                System.out.println(obj);
        }
        public static HashSet getHash(HashSet hs)
        {
                HashSet newHs = new HashSet();

                Iterator it = hs.iterator();
                while(it.hasNext())
                {
                        Person p =(Person)it.next();
                        newHs.add(p.getName()+"::"+p.getAge());

                }
                return newHs;
        }
       
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马