Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java7中对.class文件内的属性实现自定义排序_Java_Sorting - Fatal编程技术网

如何在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,虽然是真的,但我没有读过,抱歉。