【发布时间】:2011-09-21 10:56:09
【问题描述】:
我试图弄清楚是否有某种方法可以在不使用数组初始化的情况下动态填充类中的对象数组。我真的很想避免逐行填充数组。考虑到我在这里的代码,这可能吗?
final class Attributes {
private final int TOTAL_ATTRIBUTES = 7;
Attribute agility;
Attribute endurance;
Attribute intelligence;
Attribute intuition;
Attribute luck;
Attribute speed;
Attribute strength;
private Attributes[] attributes; //array to hold objects
private boolean initialized = false;
public Attributes() {
initializeAttributes();
initialized = true;
store(); //method for storing objects once they've been initialized.
}
private void initializeAttributes() {
if (initialized == false) {
agility = new Agility();
endurance = new Endurance();
intelligence = new Intelligence();
intuition = new Intuition();
luck = new Luck();
speed = new Speed();
strength = new Strength();
}
}
private void store() {
//Dynamically fill "attributes" array here, without filling each element line by line.
}
}
【问题讨论】:
-
只是为了澄清......“你想将所有成员变量类型的属性添加到数组中吗?”这就是你所说的动态rt?
-
我想你想自己实现任何已经在Java Collection中实现的东西,你可以看看OpenJDK,看看他们是怎么做到的。