目前我有一个像这样构造的数组:
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
,因为存在的元素不在数组索引范围内。所以我的问题是,在用户选择数组大小后,我应该以什么方式将元素添加到数组中?
答案 0 :(得分:2)
导入java.util.ArrayList
,并使用ArrayList数据结构而不是普通数组。
为了对您发布的代码执行相同的操作,您将使用类似以下代码:
List<Car> garage = new ArrayList();
garage.add(new Car("Ford", "Focus", "S301 ABN"));
//etc
要获取车库的第n个元素,请使用garage.get(n)
。