0
今天,我遇到了Java 7泛型数组创建的奇怪情况。请看下面的两条语句。通过钻石算子创建通用数组
Map<String, String>[] hashArr= new HashMap[2]; // Compiles
Map<String, String>[] hashArr= new HashMap<>[2];// Does not compile
这里首先声明编译没有钻石运营商,如果我把钻石运营商或通用型的右侧比它不会编译。我面临所有类型的相同情况,List<T>
,Set<T>
谁能告诉我,什么是不编译第二条语句的原因?
@Downvoter,请发表评论,这是什么问题的错误? – Masudul
因为你不能创建一个'HashMap'类型的泛型数组。 –
@ElliottFrisch,我可以用第一个语句创建数组。 – Masudul