【发布时间】:2020-01-24 16:40:05
【问题描述】:
我正在尝试将Set<String> 转换为Map。但我不确定为什么keyMapper 和valueMapper 不会采用关键功能对象。
private static void populateHeader(Map<String, List<String>> headerMap,
Set<String> keys) {
headerMap= keys.stream()
.collect(Collectors.toMap(key -> key.toString(),parseLine(key -> key)));
}
错误信息是:
错误:(83, 91) java: 不兼容的类型: java.lang.String 不是 功能界面
【问题讨论】:
-
parseLine的签名是什么? -
修改:private static void populateHeader(Set
keys) { Map > headerMap= keys.stream().collect(Collectors.toMap(key -> key. toString(),parseLine(getHeaderLine(key -> key)))); } public static List parseLine(String cvsLine)... throws Error:(83, 91) java: incompatible types: java.lang.String is not a functional interface -
什么是
getHeaderLine?请edit the question获取更新。 -
(不直接相关,但应该是
csvLine,如逗号分隔值?)
标签: java lambda java-stream