将JsonObject作为参数传入方法,在方法中修改json,原json为什么会发生改变呢
public static void main(String[] args) {
JSONObject users = new JSONObject();
users.put("1", "张三");
users.put("2", "李四");
JSONObject usersCopy = users;
changeUsers(usersCopy);//将users json的备份传入改变方法
System.out.println(users);//打印原json
}
private static void changeUsers(JSONObject usersCopy) {
usersCopy.put("1", "王五");
}
打印结果是{"1":"王五","2":"李四"},张三变成了王五
感觉就像是赋值userCopy=users是赋值了对象的引用,传入参数也是传入引用。
这个是在工作中遇到的问题,虽然工作半年了,但是基础还是重要啊,我的代码流程是一个json对象,在经过一个方法发生改变,但是在下一个流程中还是需要用到原json,求大佬解答这段代码大概的底层流程,还有我这个逻辑需要怎么实现