现在有两个list
private List<GroupPurchaseItem> data = null; // 排序
private List<GroupPurchaseItem> dataDefault = null; // 默认顺序
构造方法中给他们赋值
this.data = data;
this.dataDefault = data;
接着我给data做了一个排序,Collections.sort(data, new SortByTimeDesc());
排完之后发下dataDefault的顺序也被排了....我不想dataDefault被改变,要怎么办呢

解决方案 »

  1.   

    你2个引用指向同一个对象了,先拷贝下。
            public static void main(String[] args)throws IOException,ClassNotFoundException{
             List<Integer> a = new ArrayList<Integer>(3);
             a.add(1);
             a.add(3);
             a.add(2);
             List<Integer> b = new ArrayList(Arrays.asList( new Object[a.size()]));
             Collections.copy(b, a);
             Collections.sort(a);
             System.out.println(a);//123
             System.out.println(b);//132
            }