Java使用void方法进行流映射?
2022-09-02 02:18:04
假设我有一个void方法,它只对对象进行转换,而不返回任何值,我想在stream 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方法怎么可能呢?当然,我可以让方法返回转换后的对象,但这不是重点,并且违反了设计(该方法应该是无效的)。