我需要从对象列表(List<MyObj>
)中提取一个值,然后将其放入地图中。
条件是:输入值或返回空字符串。像这样:
String score =
collect.stream()
.map(f -> f.getScore())
.filter(filterScore("9096"))
.orElse(() -> "");
有什么解决办法吗?
答案 0 :(得分:1)
orElse
取一个值(在您的情况下为String
),而不是Supplier
。此外,您缺少查找字词:
String score =
collect.stream()
.map(f -> f.getScore())
.filter(filterScore("9096"))
.findFirst()
.orElse("");
答案 1 :(得分:0)
您需要使用findFirst
返回过滤列表的第一个元素的可选内容或空的可选内容。
String score = collect.stream()
.map(f -> f.getScore())
.filter(filterScore("9096"))
.findFirst()
.orElse("");