[英]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.