我可以使用类似的东西:
.forEach(System.out::print)
Run Code Online (Sandbox Code Playgroud)
打印我的列表项,但如果我在打印前有其他操作要做,我不能使用它:
mylist.replaceAll(s -> s.toUpperCase()).forEach(System.out::print)
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:无法取消引用void
Hol*_*ger 38
你必须决定.如果要修改列表,则无法组合操作.那你需要两个陈述.
myList.replaceAll(String::toUpperCase);// modifies the list
myList.forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
如果您只想map在打印前想要修改值而不修改列表,则必须使用Stream:
myList.stream().map(String::toUpperCase).forEachOrdered(System.out::println);
Run Code Online (Sandbox Code Playgroud)
如果您想同时打印和保存修改的值,您可以这样做
List<String> newValues = myList.stream().map(String::toUpperCase)
.peek(System.out::println).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37362 次 |
| 最近记录: |