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