The method comparingInt(ToIntFunction<? super T>) in the type Comparator is not applicable for the arguments (PlaceAnOrder::getId)
时间: 2024-02-01 11:02:04 浏览: 91
AAC2M1P1_TheTest_comparator_源码
这个错误是因为您正在尝试将一个 `PlaceAnOrder` 对象的 `id` 属性用作比较器函数,但是 Comparator 接口的 `comparingInt` 方法期望一个 `ToIntFunction` 作为参数。
您需要创建一个 `ToIntFunction`,它将 `PlaceAnOrder` 对象映射为其 `id` 属性的整数值。您可以像这样编写代码:
```java
Comparator<PlaceAnOrder> comparator = Comparator.comparingInt(order -> order.getId());
```
或者更明确地使用方法引用:
```java
Comparator<PlaceAnOrder> comparator = Comparator.comparingInt(PlaceAnOrder::getId);
```
这将创建一个比较器,该比较器按 `PlaceAnOrder` 对象的 `id` 属性进行比较。
阅读全文