0

我想基本上传递一个动态列表的引用。在 Class2 中,即使原始列表发生更改,getTheList 方法也应该继续获取新列表。我应该添加一个侦听器还是必须以更好的方式更改我的设计才能做到这一点?

class1{
    public class1(){
       List orginalList=getOrginalList();
       Class2 c2=new Class2(orginalList);
    }

    public List getOrginalList(){ 
          //here read and return the updated orginal
         //List from a web service
    }           
}

class2{
    List myList;
    public class2(List realList){
        myList=realList;
    }
    private int getTheList(){
        //when I call this method I want to get the updated list
        return  myList.size();
    }    
}
4

1 回答 1

0

从你的评论...

//something here later changes the orginal list but In class2 
//I still keep getting the old list!

...看起来您希望有两个列表对象。没有。只有一个列表,您有两个参考。如果您想制作列表的副本,则需要明确地执行此操作。赋值运算符从不创建对象的副本。它只是将一个表达式的值复制到一个变量中。该表达式的值始终是引用或原始值——绝不是对象。

于 2012-07-03T13:14:36.707 回答