这段代码无法编译。
List<String> pairs = new ArrayList<>();
System.out.println(pairs.stream().collect(Collectors.toMap(x -> x.split("=")[0], x -> x.split("=")[1])));
编译错误是:方法split(String)对类型Object未定义 在System.out.println(pairs.stream().collect(Collectors.toMap(x -> x.split("=")[0], x -> x.split("=")[1])));处出错
但这个可以编译成功。
List<String> pairs = new ArrayList<>();
Map<String,String> map = pairs.stream().collect(Collectors.toMap(x -> x.split("=")[0], x -> x.split("=")[1]));
System.out.println(map);
能有人解释一下为什么吗?
更多信息
这是在Intellij 12、JDK1.8.0_11和Windows 64位系统下发生的。
Collectors.<String, String, String>toMap(...)
。 - Thomas