如何在Java7中对.class文件内的属性实现自定义排序
我需要根据对象的如何在Java7中对.class文件内的属性实现自定义排序,java,sorting,Java,Sorting,我需要根据对象的名称对学生对象进行排序。请注意,Student类中没有compareTo()的实现,只是简单的getter和setter,而该类本身是我在教育门户项目中使用的school.jar的一部分。如何访问这些字段,我可以为相同的但标记为final的学生类引入基类 这个用例在技术上是否可行?如果是这样,我如何实现它?您不需要修改学生课程-您可以介绍自己的: 公共类StudentNameComparator实现Comparator{ @凌驾 整数比较(学生s1、学生s2){ 返回s1.get
名称对学生
对象进行排序。请注意,Student
类中没有compareTo()
的实现,只是简单的getter和setter,而该类本身是我在教育门户项目中使用的school.jar
的一部分。如何访问这些字段,我可以为相同的但标记为final
的学生类引入基类
这个用例在技术上是否可行?如果是这样,我如何实现它?您不需要修改学生
课程-您可以介绍自己的:
公共类StudentNameComparator实现Comparator{
@凌驾
整数比较(学生s1、学生s2){
返回s1.getName().compareTo(s2.getName());
}
}
然后使用它:
Collections.sort(学生列表,new StudentNameComparator());
编辑:
强制注释:Java 8(或更高版本)允许使用一些语法糖类(例如Comparator.Comparating(Student::getName)
),但要求使用Java 7。List=new ArrayList();
List<Student> list = new ArrayList<>();
Collections.sort(list, (a, b) -> a.getName().compareToIgnoreCase(b.getName()));
Collections.sort(list,(a,b)->a.getName().compareToIgnoreCase(b.getName());
Java7没有lambdas,虽然是真的,但我没有读过,抱歉。