我有这个Animal对象的ArrayList:
ArrayList<Animal> animals = new ArrayList<Animal>();
animals.add(new Animal(1, "animal1", 50, "10 Janvier 2016", "Noir", 4, true));
animals.add(new Animal(2, "animal2", 40, "10 Janvier 2016", "Noir", 4, true));
我试图创建一个将此ArrayList转换为Array的方法。到目前为止,我已经提出了:
public Animal[] tArray(){
return animals.toArray();
}
但我的IDE说他找不到符号变量动物。
我如何将ArrayList动物转换为数组?
编辑:我认为我的问题与方法本身无关,而是与我班级的代码结构有关。
答案 0 :(得分:1)
您正在尝试将局部变量转换为实例方法中的数组。这不会起作用,因为局部变量是声明它们的方法或构造函数的本地变量。
您需要执行以下操作之一:
private List<Animal> animals = new ArrayList<Animal>();
并删除animals
本地变量或private Animal[] animalArray
,并在animals
本地后立即指定它;然后getter将返回aninalsArray
。答案 1 :(得分:-1)
使用此
public static Animal[] toArray(ArrayList<Animal> animals){
return animals == null ? null : animals.toArray(new Animal[animals.size()]);
}