如何解决为什么字符串不受浅拷贝的影响?
抱歉英语不好。
我认为 浅复制的对象只是复制字段值, 和 这个类型是参考地址的字段是原始地址。
而且我认为 String 也是引用类型。
但是当我测试我的代码时,其他引用类型指向它们的原始类型,但只有 String 有它自己的地址
这是我的代码
class Member implements Cloneable {
String a ="1";
String[] b = {"a"};
public Member getClone() {
Member cloned = null;
try {
cloned = (Member)clone();
}catch (Exception e){
}
return cloned;
}
}
public class Main{
public static void main(String[] args) {
Member origin = new Member();
Member copied = origin.getClone();
copied.a = "2";
copied.b[0] = "c";
System.out.println(origin.a);
System.out.println(origin.b[0]);
System.out.println(copied.a);
System.out.println(copied.b[0]);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。