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

© 佛山java爱好者 中级黑马   /  2014-7-15 11:44  /  971 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Student implements Comparable<Student>
{
        private String name;
        private int age;
        Student(String name,int age)
        {
          this.name=name;
          this.age=age;
        }
        public String getName()
        {
           return name;
        }
        public int getAge()
        {
          return age;
        }
        public String toString()
        {
          return name+":"+age;
        }
        public int hasCode()
        {
           return name.hasCode()+age*34;
        }
        public bollean equals(Object obj)
        {
          if(!(obj instanceof Student))
            throw new ClassCastException("类型不匹配");
          Student s=(Student)obj;
          return this.name.equals(s.name)&&this.age==s.age;
          
          }
          public int compareTo(Student s)
        {
          int num=new Integer(this.age.compareTo(new Integer(s.age)));
          if(num==0)
                  return this.name.compareTo(s.name);
              return num;
          
          }

}


class MapTest
{
        public static void main(String[] args)
        {
                HasMap<Student.String> hm=new HashMap<Student,String>();
                hm.put(new Student("lisi",21,"beijing"));
                hm.put(new Student("lisi1",22,"tianjing"));
                Set<Student> keySet=hm.keySet();
                Iterator<Student> it=keySet.iterator();
                while(it.hasNext())
                {
                  System.out.println(it.next());
                }
        }
}
为什么会编译失败啊

2 个回复

倒序浏览
编译失败的错误提示是什么,
回复 使用道具 举报
本帖最后由 帮帮 于 2014-7-15 12:57 编辑

HasMap<Student.String> hm=new HashMap<Student,String>();前后泛型内容不一致
Student.String 点
Student,String 逗号
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马