我想为3个ArrayLists定义一个数组,每个ArrayLists都包含一个双数组。我用以下语法:阵列ArrayList数组的Java泛型未选中转换警告
ArrayList<double[]> testSamples[] = new ArrayList[] {
new ArrayList<double[]>(), new ArrayList<double[]>(), new ArrayList<double[]>()
};
然而这产生一个“警告:未经检查]未经检查的转换”警告,当我编译代码。 注意:代码正常工作,我只是试图解决我的语法(正确)解决警告。由于代码的工作,它似乎是由Java的支持,我感到困惑,为什么我不能写类似(这将产生一个编译错误):
ArrayList<double[]> testSamples[] = new ArrayList<double[]>[] {
new ArrayList<double[]>(), new ArrayList<double[]>(), new ArrayList<double[]>()
};
我在做什么错?
是的,它编译并运行正常,但编译器输出给定的警告。 –
您不能创建一个参数化类型的数组。查看这篇文章http://stackoverflow.com/q/18581002/1679863进一步的解释。 –
'ArrayList',需要''double'类型,由几个'ArrayList'类型初始化? – christopher