8
为什么Map<String, ?> test = ImmutableMap.builder().build();
无法编译,但Map<String, ?> test = ImmutableMap.<String, Object>builder().build();
工作正常吗?为什么ImmutableMap.builder()。build()没有选择正确的类型参数?
error: incompatible types
Map<String, ?> test = ImmutableMap.builder().build();
^
required: Map<String,?>
found: ImmutableMap<Object,Object>
相信番石榴的提交意味着这个工作:与
第一个代码sniplet失败。
这是可以在语言中修复的东西吗?也就是说,我们可以向Oracle提交错误报告吗? – Gili 2012-01-30 04:17:21
不可能,我很害怕。如果他们没有将它与Java 7中的钻石运算符进行增强类型推断,我怀疑它们可以包含它。可能有些奇怪的边缘案例由于某种原因无法管理,但我不确定具体情况。 – 2012-01-30 04:24:39
@Gili:我知道有一些工作可以改进Java 8的类型推断......这个_may_是可以用改进的规则推断出来的东西,我不确定。 – ColinD 2012-01-30 13:25:22