本文主要是介绍关于java中对象引用导致更改原值问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
当我在项目中需要用到这个对象,并更改值时,这时会影响之前流程的话,需要进行一次深度克隆;
1、可实现Cloneable类实现(不推荐,需要代码层层构建)
2、可直接进行转JSON操作,再转对象。方式很多,也可借助工具类,但是个人觉得转JSON的操作最简单,demo如下(可替换对象List<T>转换)。主要代码已加蓝
public static void main(String[] args) {List<String> li1=new ArrayList<>();li1.add("1");li1.add("2");li1.add("3");li1.add("4");li1.add("5");List<String> li2=li1;li2.add("6");System.out.println(li1);List<String> li3= JSONObject.parseArray(JSONObject.toJSONString(li1),String.class);li3.add("7");System.out.println(li1);System.out.println(li3);
}
运行如下
这篇关于关于java中对象引用导致更改原值问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!