黑马程序员技术交流社区

标题: 集合的问题为啥报错呢 [打印本页]

作者: LJZkevin    时间: 2014-7-19 18:35
标题: 集合的问题为啥报错呢
  1. TreeMap<String,Student > map = new TreeMap< String,Student>(
  2.                                  new Comparator<Student>() {
  3.                                  public int compare(Student s1, Student s2) {
  4.                                
  5.                                  int num = s1.getAge() - s2.getAge();
  6.                                
  7.                                  int num2 = num == 0 ? (s1.getName().compareTo(s2
  8.                                  .getName())) : num;
  9.                                
  10.                                  return num2;
  11.                                  }
  12.                                
  13.                                  });
复制代码

作者: 吴杰栋    时间: 2014-7-19 19:23
楼主,你代码那边的三目运算符那样写有问题的,还有定义比较器的时候,最好是重新再定义一个类去实现comparator接口,这样的代码会比较好维护.
  1. package cn.test;

  2. import java.util.Comparator;


  3. public class ComparatorByAge implements Comparator {

  4.         public int compare(Object o1, Object o2) {
  5.                 Student s1 = (Student)o1;
  6.                 Student s2 = (Student)o2;
  7.                 int temp = s1.getAge() - s2.getAge();
  8.                 return temp == 0?s1.getName().compareTo(s2.getName()):temp;
  9.         }

  10. }
复制代码





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