如何初始化 ArrayList 的值?
我在互联网上发现了这个,但它不起作用。
ArrayList<Kaart>[] hand = (ArrayList<Kaart>[]) new ArrayList[AANTALSPELERS];
hand
的所有元素均为null
。因此,我得到nullPointerException
。 Kaart是我创建的课程。 AANTALSPELERS 是一个私有静态最终版本。
答案 0 :(得分:6)
Object
s数组的元素初始化为null
(就像int
数组的初始值为零一样。)
因此,在使用数组元素之前,必须初始化每个元素。
ArrayList[] al = new ArrayList[5];
for( int i = 0; i < al.length; i++ )
al[i] = new ArrayList();
答案 1 :(得分:3)
这是使用泛型的正确方法。请注意,警告是不可避免的(如果这是一个问题,您可以使用@SuppressWarnings
注释):
ArrayList<Kaart>[] array = (ArrayList<Kaart>[]) new ArrayList[AANTALSPELERS];
for (int i = 0; i < AANTALSPELERS; i++)
array[i] = new ArrayList<Kaart>();
答案 2 :(得分:0)
答案 3 :(得分:0)
您创建了Array
个AANTALSPELERS
元素,每个元素都可以包含ArrayList
。
由于您尚未向ArrayList
添加任何Array
,因此Array
将具有默认元素null
。
您还需要执行以下操作,以Array
填充ArrayList
for(int i = 0; i < hand.length; i++)
hand[i] = new ArrayList();// or the arraylist you have