我正在研究一个类,该类是后端类的视图,需要显示一些后端类的属性。

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()中需要时列表不为空?

最佳答案

一些建议:


使用调试器。
num中记录getInputs
System.identityHashCode(fInputs)getInputs中登录draw,并验证它们是否相同。

08-06 01:17