//定义两个变量
List listData = new ArrayList();
List listData_t = new ArrayList();
listData.add("abc");
listData.size();//size为1;
listData_t = listData;
listData_t.size();//size=1
listData.clear();
listData_t.size();//size为0我想要的是此时的listData_t.size()为1。

解决方案 »

  1.   

    使用ArrayList的clone方法ArrayList listData = new ArrayList();
    ArrayList listData_t = new ArrayList();
    listData.add("abc");
    listData.size();//size为1;
    listData_t = (ArrayList)listData.clone();
    listData_t.size();//size=1
    listData.clear();
    listData_t.size();//size为0
    System.out.println(listData_t.size());
      

  2.   

    shallow clone is enough
      

  3.   

    listData_t = listData_t;这里你让listData_t和listData_t都指向了同一个内存区域,
    然后你listData.clear();将内存区域清空,listData_t和listData_t都指向了空的内存区域,
    当然listData_t.size();得到size为0咯