未为类型List <capture#1-of?确定方法map((<no type> cfg)-> {})。扩展配置>

时间:2019-09-02 11:06:16

标签: java lambda

恐怕这是简单的lambda map函数的问题。但是我不知道如何。下面是我的Java代码,

public SparkConf createSparkConf(String appName, Config config) {
    SparkConf sparkConf = new SparkConf().setMaster(config.getString("system.master")).setAppName(appName);

    config.getConfigList("spark").map(cfg -> {
        String name = "spark." + cfg.getString("name");
        String value = cfg.getString("value");
        sparkConf.set(name, value);
    });

    if(config.hasPath("app")) {
        config.getConfigList("app").map(cfg -> {
            String name = "spark." + cfg.getString("name");
            String value = cfg.getString("value");
            sparkConf.set(name, value);
        });
    }

    return sparkConf;
}

但是map函数抛出以下异常。

The method map((<no type> cfg) -> {}) is undefined for the type List<capture#1-of ? extends Config>

config.getConfigList("app")行返回List<Config>,但我不知道为什么map函数会引发此类错误。有想法吗?

1 个答案:

答案 0 :(得分:0)

您正在寻找forEach方法,因为您没有收集map操作的结果。您也可以致电list.stream().map(...)与之联系。