黑马程序员技术交流社区

标题: Bug,找不到啊!!! [打印本页]

作者: 茄子    时间: 2014-6-21 23:59
标题: Bug,找不到啊!!!
本帖最后由 茄子 于 2014-6-22 09:00 编辑

import java.util.*;
class Person22
{
        
        private String name;
        private int age;
        Person22(String name,int age)
        {
                this.name=name;
                this.age=age;
        }
        public int hashCode()                      //复写hashCode中的hashCode方法,返回我们自己定义的哈希值
        {
                System.out.println(this.name+"    hashCode");  //输出证明了hashcode的运行
                return this.name.hashCode()+age*39;
        }
        public boolean equals(Object obj)   //复写Object中的equals方法
        {
                if(!(obj instanceof Person))      //判断对象obj是不是Person类的对象
                        return false;
                Person22 p=(Person22)obj;             //强制转型
                return this.name.equals(p.name)&&this.age==p.age;   //建立自己独有的比较方法,姓名相同,年龄相等。
        }
        public String getName()
        {
                return name;
        }
        public int getAge()
        {
                return age;
        }
}
public class HashSetDemo2 {
        public static void sop(Object obj)
        {
                System.out.println(obj);
        }

        public static void main(String[] args) {
                HashSet hs=new HashSet();
                hs.add(new Person22("zhaoyujie",20));
                hs.add(new Person22("zhaoyujie",21));
                hs.add(new Person22("zhaoyujie",22));
                hs.add(new Person22("zhaoyujie",23));
                hs.add(new Person22("zhaoyujie",21));
               
                Iterator it=hs.iterator();
                while(it.hasNext())
                {
                        Person22 p=(Person22)it.next();
                        sop(p.getName()+"^^^^^^^^^^^^^^^"+p.getAge());
                }
        }
}



输出结果:
zhaoyujie    hashCode
zhaoyujie    hashCode
zhaoyujie    hashCode
zhaoyujie    hashCode
zhaoyujie    hashCode
zhaoyujie^^^^^^^^^^^^^^^20
zhaoyujie^^^^^^^^^^^^^^^22
zhaoyujie^^^^^^^^^^^^^^^21
zhaoyujie^^^^^^^^^^^^^^^21
zhaoyujie^^^^^^^^^^^^^^^23


我居然给存进去了!!!是我的电脑太神奇了吗???????????????
兄弟们,告诉我,问题出在哪里 啊


作者: ☆枫の云    时间: 2014-6-22 00:12
if(!(obj instanceof Person)),这句错了,你的人类类名是Person22,你却写成Person了。
作者: 茄子    时间: 2014-6-22 08:55
☆枫の云 发表于 2014-6-22 00:12
if(!(obj instanceof Person)),这句错了,你的人类类名是Person22,你却写成Person了。 ...

喂,你嫁给我吧!!!我以后就不用发愁了!!!
作者: 茄子    时间: 2014-6-22 08:59
☆枫の云 发表于 2014-6-22 00:12
if(!(obj instanceof Person)),这句错了,你的人类类名是Person22,你却写成Person了。 ...

谢拉!!!
作者: ☆枫の云    时间: 2014-6-22 11:12
茄子 发表于 2014-6-22 08:55
喂,你嫁给我吧!!!我以后就不用发愁了!!!

{:3_68:}请叫我红领巾
作者: 卞新浩    时间: 2014-6-22 11:24
雷锋 飘过  不要点赞奥
作者: 茄子    时间: 2014-6-23 08:28
☆枫の云 发表于 2014-6-22 11:12
请叫我红领巾

红领巾,嫁给我吧!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2