myList
.stream()
.map((question) -> {
question.setQuestionId(UUID.randomUUID().toString());
return question;
});
以下 java 代码未进入 map 功能。有人可以指出我在这里做错了什么吗? myList 是一个包含一些元素的 ArrayList。
最佳答案
如果您查看 java.util.stream.Stream.map
的文档,您会看到此方法返回一个新流。如果您需要保留原始列表,请使用此方法并将结果存储在新列表中:
List<...> newList = myList
.stream()
.map(question -> {
question.setQuestionId(UUID.randomUUID().toString());
return question;
})
.collect(Collectors.toList());
如果您只需要修改原始列表,因为 List
实现了 Iterable , 你可以使用 java.lang.Iterable.forEach :
myList.forEach(question -> question.setQuestionId(UUID.randomUUID().toString()));
关于Java列表映射功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38144028/