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!

... 2 つのリスト オブジェクトがあることを期待しているようです。ありません。リストは 1 つだけで、2 つの参照先があります。リストのコピーを作成したい場合は、明示的に行う必要があります。代入演算子は、オブジェクトのコピーを作成しません。1 つの式の値を変数にコピーするだけです。その式の値は、常に参照またはプリミティブ値のいずれかであり、オブジェクトではありません。

于 2012-07-03T13:14:36.707 に答える