我正在研究一個類,它是後端類視圖,需要顯示一些後端類屬性。在ArrayList中保留項目
public abstract class AGenericNodeView{
private ANode fObject;
private ArrayList<TInputView> fInputs = null;
public AGenericNodeView(){
super();
this.fInputs = new ArrayList<TInputView>();
}
private void getInputs(){
int num = fObject.getNumInputs(); //Number of inputs
for (int i = 0; i < num; i++)
{
this.fInputs.add(new TInputView());
this.fInputs.get(i).doSth();
}
//fInputs has now the size num which is greater than 0.
}
//later I call:
public draw()
{
//...
log(this.fInputs.size()); //output fInputs.size()
// and it is 0. Always.
}
}
我想,如果有一種方法,讓我創建的對象在getInputs()
執着,所以該列表不是空的,需要draw()
什麼時候?
在您使用它的地方添加相關的代碼。 – BobTheBuilder 2013-03-14 13:40:08
您確定要調用getInputs()嗎?你在同一個實例上調用getInputs()和draw()?因爲它應該是「持久的」。 – 2013-03-14 13:40:10
「*,它是0. Always。*」=>看起來'draw'在'getInputs'之前被調用,那麼......只有其他的可能性是如果你有兩個不同的線程執行'draw'和'getInputs'。 – assylias 2013-03-14 13:40:21