[我现在正在使用Java 8流功能,我想将字符串值存储在局部变量中,但是显示local variables referenced from a lambda expression must be final or effectively final
。我也尝试了final关键字,使其变得相同。我需要弄清它的可能与否。
public static void main(String[] args) {
List list = Arrays.asList("java", "stream", "scala");
String data = "";
list.forEach(action -> {
data = action.toString();
System.out.println("data :" + data);
});
}
String data = "";
类之外将main()
设置为静态。请记住,它在多线程环境中有其自己的后果。
static String data = "";
public static void main(String[] args) {
List list = Arrays.asList("java", "stream", "scala");
list.forEach(action -> {
data = action.toString();
System.out.println("data :" + data);
});
}