【发布时间】:2012-01-14 03:09:22
【问题描述】:
我正在尝试生成可变数量的arrayLists,列表中的项目数量可变。这意味着我不能使用数组代替arrayList。
在数组中生成 JLabel 时,使用 for 循环并说:
label[i]=new JLabel();
arrayList 可以这样吗?
我不能放我的代码,因为它太长了,但我会给你一个大致的想法:在一个 txt 中,有多个对象,在这种情况下,部队:长弓手,武装人员,骑士......每个 1 共享相同的统计信息 (ArrayLists),但每个都有不同的值。我拥有它,以便一旦 bufferedReader 完成一个部队,它会将所有数组列表发送到另一个类,并继续读取和覆盖旧部队统计信息(它们现在存储在不同的类中)。问题是,其他班级如何区分统计数据?如果部队类型的数量是恒定的,这将很容易,但事实并非如此。那么我该怎么做呢?
编辑:这里是一些源代码:
while ((text = reader.readLine()) != null) {
StringTokenizer troops = new StringTokenizer(text, "=");
String list = troops.nextToken();
String value = troops.nextToken();
else if (list.equals("Done")) {
troop trooper=new troop();
trooper.troopLoaded(kingdom,lord,troop,troopAmount,weapon,animal);
}
/////
部队等级:
public void troopLoaded(ArrayList<String> kingdom,ArrayList<String> lord,ArrayList<String> troop,ArrayList<String>,troopAmount,ArrayList<String> weapon,ArrayList<String> animal) {
System.out.println(kingdom);
System.out.println(lord);
System.out.println(troop);
System.out.println(troopAmount);
System.out.println(weapon);
System.out.println(animal);
}
我如何给部队类提供数组列表而不在部队类中重写它们?
【问题讨论】:
-
不,我不能,有一个属性叫做武器,部队可以拥有任意数量的武器,即剑、斧、斧……