黑马程序员技术交流社区

标题: 无法取消引用int [打印本页]

作者: 老外    时间: 2015-2-7 16:13
标题: 无法取消引用int
  1. import java.util.*;

  2. class StuNameComparator implements Comparator<Student>
  3. {
  4.         public int compare(Student s1,Student s2)
  5.         {
  6.                 int num = s1.getName().compareTo(s2.getName());
  7.                 if(num==0)
  8.                         return new Integer(s1.getAge()).compareTo(new Integer(s2.getAge()));
  9.                 return num;
  10.         }
  11. }

  12. class MapTest2
  13. {
  14.         public static void main(String[] args)
  15.         {
  16.                 TreeMap<Student,String> tm = new TreeMap<Student,String>(new StuNameComparator());

  17.                 tm.put(new Student("lisi1",21),"beijing");
  18.                 tm.put(new Student("blisi2",22),"shanghai");
  19.                 tm.put(new Student("lisi3",23),"nanjing");
  20.                 tm.put(new Student("alisi4",24),"wuhan");

  21.                 Set<Map.Entry<Student,String>> entrySet = tm.entrySet();
  22.                 Iterator<Map.Entry<Student,String>> it = entrySet.iterator();

  23.                 while (it.hasNext())
  24.                 {
  25.                         Map.Entry<Student,String> me = it.next();
  26.                         Student stu = me.getKey();
  27.                         String addr = me.getValue();
  28.                         System.out.println(stu+":::"+addr);
  29.                 }
  30.         }
  31. }
复制代码


错误: 无法取消引用int
  int num = s1.getName().compareTo(s2.getName());

求大神帮忙!
作者: 邓士林    时间: 2015-2-7 16:48
继承Comparator接口,实现copare方法。
public int compare(Object obj1,Object obj2)  ,要必须参数也是Object类型,然后在函数内强制转换下,你试试

作者: 窗知    时间: 2015-12-27 18:07
请问,这个问题怎么解决的?
作者: huqianqian    时间: 2016-1-1 21:06
牛人啊!好好学!
作者: java_彬彬    时间: 2016-1-5 19:57
好好学!
作者: 珞诗妍    时间: 2016-1-16 12:46
我也出现了这个无法取消引用Int类型的错误,不过不明白。。。




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