不懂,  aCol 已经是B的属性了, 变了自然就变了。 干吗还要传?

解决方案 »

  1.   

    为什么不考虑用List或者Vector~~~
      

  2.   

    to: DreamDragon_NEU(梦龙)恭喜升为三个裤衩了利用List就可以了
      

  3.   

    你是不是想问怎么修改B中aCol中A的str属性?
      

  4.   

    to:zhutouzip(I love xq)
    就是啊
      

  5.   

    用List怎么弄啊?来点代码好吗?我是新手....
      

  6.   

    用Vector吧
    Vector v = new Vector();
    v.add(yourObject);
    v.get();
    这个能满足楼主所说的要求~~~
      

  7.   

    你可以这样List list = new ArrayList(aCol);
    然后把list中的某个对象的属性赋值过去就ok了
      

  8.   

    B b =new B(); 
    String strtest = "";
    ((A)b.aCol.get(i)).setStr(strtest);
      

  9.   


    list.set( int index , ai )  //ai为A的一改变属性的对象;index为list中的索引位置
      

  10.   

    没太理解楼主的意思,因为在Collection楼主存的是非基本类型,是自己定义的类型A。所以改变一个A的对象,同时在Collection里的也指向那个改变的。所以不用传递的。看下面的。public class A {

    String str = "a";

    public void setStr(String string){
    str = string;
    }

    public String getStr(){
    return str;
    }}class B {
     
    List aCol = new ArrayList();}
    public class TestA {

     void test(){
          A a1 = new A();
          A a2 = new A();
          B b = new B();
          b.aCol.add(a1);
          b.aCol.add(a2);
          System.out.println(((A)b.aCol.get(0)).getStr());
          System.out.println(((A)b.aCol.get(1)).getStr());       //改变a1
          a1.setStr("change");
          System.out.println(((A)b.aCol.get(0)).getStr());
          System.out.println(((A)b.aCol.get(1)).getStr());
      }

    public static void main(String[] args){
    TestA t = new TestA();
    t.test();
    }

    }结果:
    a
    a
    change
    a另外,用LIST或者ARRAYLIST比较常见,如果有多线程,用VECTOR。
      

  11.   

    对不起。我不知道可以把一个类放在Collection里吗?可以告诉我吗?怎么放。怎么取。
    Vector,ArrayList,HashMap,我都会可以做。
      

  12.   

    Collection的话好像是不用传递——直接就改变了。因为Collection只是指向某个对象而不是数值的传递。用List或者ArrayList的话就需要传递了。
      

  13.   

    Vector,ArrayList都是Collection的具体实现,Collection是这个框架下所有类必须实现的接口,使用的时候必须使用它的具体实现类,因为Collection只是个接口而已。Collection col = new ArrayList();
    A a = new A();
    col.add(a);
    直接修改a,col中的a也会随之改变,col中存取的仅仅是a的引用而已,指向的还是a对象。
      

  14.   

    接上面:A[] myA = (A[])col.toArray();