具有类的类的实现比较器

问题描述 投票:0回答:1

我有一个名为House的类,它具有Room Class的属性。房间类别具有一个属性roomCapacity。

我想基于名为roomCapacity的Room类属性对House HashMap进行排序。

Comparator<House> sortByRoomCapacity= Comparator.nullsFirst(Comparator.comparing(House::getRoom,Comparator.nullsFirst(Comparator.naturalOrder())));

但是目前我无法获得Room类House :: getRoom的此属性(getRoomCapacity)

java sorting java-8 comparator
1个回答
1
投票

另一个嵌套comparing方法应该可以解决问题:

Comparator<House> sortByRoomCapacity =
         nullsFirst(comparing(House::getRoom, comparing(Room::getRoomCapacity, nullsFirst(naturalOrder()))));
© www.soinside.com 2019 - 2024. All rights reserved.