【发布时间】:2014-03-10 23:15:46
【问题描述】:
我需要 在我的学生班中实现一个静态方法
public static Comparator<Student> getCompByName()
为学生返回一个新的比较器对象,比较 2 个学生对象 通过属性“名称”。
我创建了我认为正确的东西,但我不确定它是否会像上面给出的要求那样发挥作用。我对比较器非常陌生,并且很难使用它们。
public static Comparator<Student> getCompByName()
{
Comparator comp = new Comparator<Student>(){
@Override
public int compare(Student s1, Student s2)
{
return Integer.compare(s1.name.length(), s2.name.length());
}
};
return comp;
}
仅通过阅读上述要求,我不确定我应该对“名称”进行比较,是否是长度,是否相等等。所以我进行了整数比较。任何人都清楚需要什么以及我是否正确地做到了这一点?如果没有,谁能告诉我我需要做什么/改变?
【问题讨论】:
-
为什么 Student 没有实现 Comparable?那将是首选方式。
-
@PlasmaPower 如果有不止一种方法可以比较
Students.
标签: java comparator anonymous-class anonymous-methods