模型示例:
我需要根据驾驶员的性别以及其年龄对汽车流进行分类。
public class Car {
String color;
Driver driver;
}
public class Driver {
String name;
Integer age;
String gender;
}
public List<Car> sortCars(List<Car> cars) {
return cars.stream()
.sorted(Comparator
.comparing(car -> -1 /* car.getDriver().getGender() */ )
.thenComparing(car -> -1 /* car.getDriver().getAge() */ ))
.collect(Collectors.toList());
}
我不想创建特殊的Comparator类或实现Comparator接口。我的用例有可能吗?我过去一个小时一直在浏览,所以没有任何答案。
可能类型推断不够字符串。这对我有用:
returns cars.stream()
.sorted(Comparator.comparing(car -> ((Car) car).getDriver().getGender())
.thenComparingInt(car -> ((Car) car).getDriver().getAge()))
.collect(Collectors.toList());