【发布时间】:2017-01-18 12:51:10
【问题描述】:
假设我有一个 void 方法,它只对对象进行转换,不返回任何值,我想在流 map() 函数的上下文中使用它,如下所示:
public List<MyObject> getList(){
List<MyObject> objList = ...
return objList.stream().map(e -> transform(e, e.getUuid())).collect(Collectors.toList());
}
private void transform(MyObject obj, String value){
obj.setUuid("prefix" + value);
}
这个例子是为了简单起见——实际的方法是做一些别的事情,而不仅仅是弄乱对象的 UUID。
无论如何,在上述情况下如何使用 void 方法? 当然,我可以让方法返回转换后的对象,但这不是重点,违反了设计(方法应该是无效的)。
【问题讨论】:
标签: java java-8 java-stream