有人可以告诉我应该如何使用消费者来达到相同的输出,因为这不起作用?
String names = "John Alex Peter";
String[] namesSplitted = names.split(" ");
for (String s : namesSplitted) {
System.out.println(s);
}
Consumer<String> cons = x -> System.out.println(x.split(" "));
cons.accept(names);
Run Code Online (Sandbox Code Playgroud)
AConsumer接收输入并处理它(即“消耗”它)。
A一次Consumer<String>消耗一个。String
在您的代码示例中,Consumer是System.out.println.
您可以Stream<String>通过拆分输入创建一个,并通过调用将String其所有元素传递给:StreamConsumer<String>forEach()
Consumer<String> cons = System.out::println;
Arrays.stream(names.split(" ")).forEach(cons);
Run Code Online (Sandbox Code Playgroud)
当然,不需要将此代码片段分成两行:
Arrays.stream(names.split(" ")).forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1009 次 |
| 最近记录: |