我需要通过其一个对象属性的一个属性来比较对象数组.
我在做 :
List<Sell> collect = sells.stream()
.sorted(Comparator.comparing(Sell::getClient.name, String::compareToIgnoreCase))
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
这不是编译,没有人知道该怎么办?
谢谢.
这是导致错误的代码部分
Sell::getClient.name
您可以创建对特定类型的任意对象的(静态或非静态)方法的引用。getClient对任何Sell类型对象的方法的引用如下所示:
Sell::getClient
但是方法引用不是对象,也没有成员可以访问。使用此代码,您尝试访问引用的成员变量(并且不能)
Sell::getClient.name
此外,方法引用不是类,因此您无法从它们获取另一个方法引用。如果你尝试过,你就不能做这样的事情:
Sell::getClient::getName
@mlk 为您的特定情况提供了正确的语法:
x -> x.getClient().nameSell::getClientName (不必是静态方法)| 归档时间: |
|
| 查看次数: |
2281 次 |
| 最近记录: |