【发布时间】:2019-06-24 13:31:44
【问题描述】:
我有两个列表。第一个是字符串列表 - A 列表,第二个包含新类列表,比如说 B 类。
B 类包含 String 字段,例如 example1、example2、example3、example4 等等。
我尝试过类似的方法,但我认为它适用于克隆集合,而不是将特定值更改为 null。
listOfB.stream().flatMap(p -> Stream.of(p.getExample1(),p.getExample2(),
p.getExample3(), p.getExample4()))
.forEach(i -> {
if (listOfA.contains(i)) {
i = null
}
});
我想要实现的是流过 B 对象列表,获取所有示例字段(从 1 到 4),然后检查 A 列表是否包含至少一个示例字段值,如果是,则设置此特定示例字段为空。
【问题讨论】:
-
Lambda 参数与方法参数没有什么不同,因此更改它不会在 lambda 之外产生影响。您正在寻找的是
.filter()方法。 -
将值设置为
null要达到什么目的?
标签: java java-8 java-stream