浅拷贝与深拷贝在Java中的应用示例
在Java中,对象的复制有两种方式:浅拷贝和深拷贝。以下是一些示例:
- 浅拷贝:
```java
// 创建一个包含引用的对象
Listlist = new ArrayList<>();
list.add(“Hello”);
// 浅拷贝
List
System.out.println(shallowCopy); // 输出:[Hello]
2. 深拷贝:
```java
// 使用深拷贝的工具类
import org.apache.commons.lang3.StringUtils;
public class DeepCopyExample {
public static void main(String[] args) {
// 创建一个包含引用的对象
List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
// 深拷贝
List<String> deepCopy = StringUtils.copyList(list, new ArrayList<>())); // 使用Apache Commons Lang的StringUtils工具进行复制
System.out.println(deepCopy); // 输出:[Hello, World]
}
}
以上示例展示了如何在Java中使用浅拷贝和深拷贝。浅拷贝创建的是对象的新引用,而深拷贝则是复制整个对象(包括其内部引用的对象)。
还没有评论,来说两句吧...