将list1赋值给list2,list2数据更改不改变list1的数据

将list1赋值给list2,list2数据更改不改变list1的数据,第1张

将list1赋值给list2,list2数据更改不改变list1的数据
 public static void main(String[] args) {
        List list1 = new ArrayList<>();
        ReportResourceAnalyze dto = new ReportResourceAnalyze();
        dto.setMonths("1");
        list1.add(dto);
        List list2 =
        (List) SerializationUtils.clone((Serializable) list1);
        list2.stream().forEach(
                s->{
                    s.setMonths("2");
                }
        );
        System.out.println(JSON.toJSONString(list1));
        System.out.println(JSON.toJSONString(list2));
    }

生成一个新的list2,改变list2 的值list1的值不会改变。
List list2 =
(List) SerializationUtils.clone((Serializable) list1);
指向同一个地址,list1和list2一起变
List list2 = new new ArrayList<>(list1)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5709779.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存