是否可以在 Java 8 引入的 Map.foreach 函数中使用多个命令?
所以改为:
map.forEach((k, v) ->
System.out.println(k + "=" + v));
我想做这样的事情:
map.forEach((k, v) ->
System.out.println(k)), v.forEach(t->System.out.print(t.getDescription()));
假设 k 是字符串,v 是集合。
最佳答案
lambda syntax允许主体有两种定义:
- 单个返回值的表达式,例如:
x -> x*2
- 多条语句,用大括号括起来,例如:
x -> { x *= 2;返回 x; }
第三种特殊情况是允许您在调用 void
返回方法时避免使用花括号,例如:x -> System.out.println(x)
.
关于java - Java 8 foreach 函数中多于 1 个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34557412/