浅拷贝与深拷贝在Java中的应用示例

原创 逃离我推掉我的手 2024-12-08 21:18 88阅读 0赞

在Java中,对象的复制有两种方式:浅拷贝和深拷贝。以下是一些示例:

  1. 浅拷贝:
    ```java
    // 创建一个包含引用的对象
    List list = new ArrayList<>();
    list.add(“Hello”);

// 浅拷贝
List shallowCopy = new ArrayList<>(list); // 这里的new ArrayList<>()是浅复制的实现

System.out.println(shallowCopy); // 输出:[Hello]

  1. 2. 深拷贝:
  2. ```java
  3. // 使用深拷贝的工具类
  4. import org.apache.commons.lang3.StringUtils;
  5. public class DeepCopyExample {
  6. public static void main(String[] args) {
  7. // 创建一个包含引用的对象
  8. List<String> list = new ArrayList<>();
  9. list.add("Hello");
  10. list.add("World");
  11. // 深拷贝
  12. List<String> deepCopy = StringUtils.copyList(list, new ArrayList<>())); // 使用Apache Commons Lang的StringUtils工具进行复制
  13. System.out.println(deepCopy); // 输出:[Hello, World]
  14. }
  15. }

以上示例展示了如何在Java中使用浅拷贝和深拷贝。浅拷贝创建的是对象的新引用,而深拷贝则是复制整个对象(包括其内部引用的对象)。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,88人围观)

还没有评论,来说两句吧...

相关阅读