hutool 深克隆
时间: 2023-10-03 20:08:36 浏览: 110
对于深克隆,Hutool提供了`ObjectUtil.clone(obj)`方法来实现。该方法会递归地克隆对象及其所有引用对象。
示例代码如下:
```java
import cn.hutool.core.util.ObjectUtil;
public class DeepCloneDemo {
public static void main(String[] args) {
// 创建一个Person对象
Person person = new Person("John", 20);
// 克隆Person对象
Person clonedPerson = ObjectUtil.clone(person);
// 修改原始对象的属性
person.setName("Tom");
person.setAge(25);
// 输出原始对象和克隆对象的属性
System.out.println("原始对象:" + person);
System.out.println("克隆对象:" + clonedPerson);
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 省略getter和setter方法
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
```
在上述代码中,我们创建了一个Person对象,并使用`ObjectUtil.clone()`方法对其进行深克隆。然后,我们修改了原始对象的属性,但是克隆对象的属性并未受到影响。这说明使用Hutool的`clone()`方法实现了深克隆。
阅读全文