【发布时间】:2019-09-02 11:06:16
【问题描述】:
恐怕这是简单的 lambda 映射函数的问题。但我不知道怎么做。下面是我的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 函数会抛出这样的错误。有什么想法吗?
【问题讨论】:
-
List没有map方法。Stream有map方法。也就是说,如果你想使用Stream的map,传递给它的映射函数应该返回一些东西。