假设我有两个C1和C2类,其中C1由C1的构造函数使用:
public class C1
{
public C1( C2 o2 ){ ... }
public String getProperty()
{
String result;
...
return result;
}
}
现在,我有一个C2对象列表(列表列表),我希望使用从流式传输的C2对象创建的C1的getProperty()上的条件进行流式处理和过滤。
有没有办法用流做到这一点?
List<C2> list = ...
List<C2> result = list.stream().filter( XXXX )
我想我应该有XXXX使用来自流的C2对象创建一个C1对象并比较它的getProperty()(例如,“value”.equals(o2.getProperty())
这有可能吗?
答案 0 :(得分:4)
你将丢弃实例,但确定
list.stream().filter(c2 -> "value".equals(new C1(c2).getProperty())).collect(toList());
这似乎有点倒退。也许这个属性的逻辑应该放在C2
类或某个实用程序类(静态方法)或为给定C2
实例提供属性的实例中。