我有如下列表
List<String> fruits = new ArrayList<>();
fruits.add("apple");
fruits.add("mango");
fruits.add("grapes");
System.out.println(fruits.toString());
我正在使用 lambda 表达式打印列表,如
fruits.forEach(item->System.out.println(item));
它工作正常我的要求是我需要遍历列表并将项目连接到一个字符串
String stringFruits = "";
fruits.forEach(item->stringFruits = stringFruits+item);
这给出了一个编译时错误,说 lambda 中使用的变量值应该是有效的最终值我有什么办法可以在 java 8 中做到这一点吗?
最佳答案
您需要通过分隔符
加入
。在这种情况下,分隔符将是 ,
;但你可以选择任何你想要的。
String result = fruits.stream().collect(Collectors.joining(","));
System.out.println(result);
关于java - java8 lambda 表达式和 foreach 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43776997/