我有一个名为House的类,它具有Room
类型的属性。
class House {
private Room room;
// getters & setters
}
Room
类具有属性roomCapacity
:
class Room {
private double roomCapacity;
// getters & setters
}
我想基于名为roomCapacity的Room类属性对House HashMap进行排序。
Comparator<House> sortByRoomCapacity =
Comparator.nullsFirst(Comparator.comparing(House::getRoom,
Comparator.nullsFirst(Comparator.naturalOrder())));
但是目前我无法获得Room类House :: getRoom的此属性(getRoomCapacity)
您快到了。
另一个嵌套comparing
方法应该可以解决问题:
Comparator<House> sortByRoomCapacity =
nullsFirst(comparing(House::getRoom,
comparing(Room::getRoomCapacity,
nullsFirst(naturalOrder()))));