如何使用java流在本地变量中存储字符串值

问题描述 投票:1回答:1

[我现在正在使用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);
        });
    } 
java java-8 stream
1个回答
0
投票
如果您的任务只是完成工作,请在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); }); }
© www.soinside.com 2019 - 2024. All rights reserved.