【发布时间】:2016-12-12 03:55:35
【问题描述】:
编辑:
基本上我想根据 entry.getObject() 是否是一个包含值“value”的字符串来过滤所有条目。
所以我有一个看起来像这样的代码块:
list.stream()
.filter((entry) -> entry.getObject() != null)
.filter((entry) -> entry.getObject() instanceof String)
.filter((entry) -> ((String)entry.getObject()).toLowerCase().contains(value))
.collect(Collectors.toList());
主要问题是我不知道如何构造它以保持 entry.getObject() 的值,我不知道如何在不丢失的情况下操作 entry.getObject() 的输出看到产生价值的条目。早期的尝试看起来更像这样:
list.stream()
.map((entry) -> entry.getObject())
.filter((object) -> entry instanceof String)
.map((object) -> (String)entry)
.filter((str) -> str.toLowerCase().contains(value))
/* ... */
但后来我想不出任何方法将它与我开始使用的列表中的条目相关联。
【问题讨论】:
-
entry对应的class是什么?
-
如果我正确理解您的需求,您想在相应条目中反映您对字符串的更改吗?
-
不,基本上我想根据从“entry”中获得的字符串的属性进行过滤,但是要确定该属性,我还需要在各个阶段映射和过滤字符串。
标签: java functional-programming java-stream