【发布时间】:2019-04-03 04:42:05
【问题描述】:
我有List<Entry> entries,代码结构如下,
class Entry {
public Product getProduct() {
return product;
}
}
class Product {
public List<CategoriesData> getCategories() {
return categoriesData;
}
}
class CategoriesData {
public String getName() {
return name;
}
}
我正在查看按产品排序 - 类别数据 - 名称(从 List<CategoriesData> 中的第一个元素开始)
// Not sure how to refer Name within CategoriesData,
// entries.stream().sorted(
// Comparator.comparing(Entry::getProduct::getCategories::getName))
// .collect(Collectors.toList())
【问题讨论】:
-
好吧,不知道会是怎样的比较,但是你可以使用
Comparator.comparing(a -> a.getProduct().getCategories().get(0).getName())来实现。 -
.get(0),你确定??这不是一个好习惯:p -
@Naman 我收到“对象类型的方法 getProduct() 未定义”错误,可能是什么原因?
-
@SyAu 希望您有问题中的条目流,然后它不应该真的以提到的错误结束。
标签: java lambda java-8 java-stream