目前,我有一个像这样构造的数组:

Car[] garage = new Car[5];
garage[0] = new Car("Ford", "Focus", "S301 ABN");
garage[1] = new Car("Opel", "Astra", "WA55 AAP");
garage[2] = new Car("Ford", "Explorer", "L66 4ABE");
garage[3] = new Car("Dodge", "Viper", "FA55 SAM");
garage[4] = new Car("Ferrari", "F50", "SAS3 47S");


但是,我需要由来自JComboBox的用户定义的值来设置数组的大小。我已经将JComboBox设置为有效的值,但它会抛出ArrayIndexOutOfBoundsException,因为存在的元素不在数组索引范围之内。所以我的问题是,在用户选择数组的大小之后,我应该如何将元素添加到数组中?

最佳答案

导入java.util.ArrayList,并使用ArrayList数据结构代替普通数组。

要对您发布的代码执行相同的操作,请使用类似以下代码的代码:

List<Car> garage = new ArrayList();
garage.add(new Car("Ford", "Focus", "S301 ABN"));
//etc


要获取车库的第n个元素,请使用garage.get(n)

关于java - 一个在Java中最多可以处理N个元素的数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10167176/

10-10 16:46