[英]Compare two objects by their field's field
我有一个名为 House 的 class ,它的属性为Room
。
class House {
private Room room;
// getters & setters
}
Room
class 有一个属性roomCapacity
:
class Room {
private double roomCapacity;
// getters & setters
}
我想在名为 roomCapacity 的 Room class 属性的基础上对 House HashMap 进行排序。
Comparator<House> sortByRoomCapacity =
Comparator.nullsFirst(Comparator.comparing(House::getRoom,
Comparator.nullsFirst(Comparator.naturalOrder())));
但是现在我无法获得房间 class House::getRoom的这个属性(getRoomCapacity)
您快到了。
另一种嵌套comparing
方法应该可以解决问题:
Comparator<House> sortByRoomCapacity =
nullsFirst(comparing(House::getRoom,
comparing(Room::getRoomCapacity,
nullsFirst(naturalOrder()))));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.