首页 > 文章列表 > java如何实现字符串的深度拷贝

java如何实现字符串的深度拷贝

java
343 2023-04-28

如何实现字符串的深度拷贝?

由于字符串是不可变的,所以可以直接使用“=”操作符将一个字符串拷贝到另外一个字符串,并且互不影响。

public class JavaStringCopy {     public static void main(String args[]) {         String str = "沉默王二";         String strCopy = str;          str = "沉默王三";         System.out.println(strCopy);     } }

输出结果如下所示:

沉默王二

这个例子和之前证明字符串是不可变的例子几乎没什么差别,对吧?这的确是因为字符串是不可变的,如果是可变对象的话,深度拷贝就要注意了,最好使用 new  关键字返回新的对象。

public Book getBook() {     Book clone = new Book();     clone.setPrice(this.book.getPrice());     clone.setName(this.book.getName());     return clone; }