怎样运用lambda改写以下代码

class AgeComparator implements Comparator {
@Override
public int compare(Staff o1, Staff o2) {
return Integer.compare(o1.getAge(), o2.getAge());

可以将这段Java代码改写为使用Lambda表达式的形式,示例如下:

Comparator<Staff> ageComparator = (o1, o2) -> Integer.compare(o1.getAge(), o2.getAge());

这里使用了Lambda表达式来实现Comparator接口,其中参数(o1, o2)表示两个待比较的对象,箭头->后面的表达式Integer.compare(o1.getAge(), o2.getAge())表示比较两个对象的年龄大小,Lambda表达式的类型为Comparator<Staff>,因此可以直接传递给需要使用的函数或方法中。

接下来在使用该比较器时,可以直接传递ageComparator变量,代码示例如下:

List<Staff> staffList = getList();
Collections.sort(staffList, ageComparator);

这里ageComparator是定义好的一个Comparator<Staff>类型的变量,getList()方法用于获取待排序的Staff列表。在使用Collections.sort方法时,将ageComparator作为第二个参数传递给该方法,表示使用该比较器进行排序。