public class DeepCloneUtils
extends java.lang.Object
| 构造器和说明 |
|---|
DeepCloneUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static <T> T |
cloneFields(T input)
(深度克隆)对数据对象的所有字段执行深度复制,输入参数为
null返回null |
static <T> T |
cloneFields(T input,
int ifVolatile)
|
static <T> T |
deepClone(T input)
[递归]复制数据对象(深度克隆),输入参数为
null返回null基本数据类型(primitive,String)不做复制,原样返回, 实现 Cloneable 接口的对象执行 clone 方法,
Map和Collection接口实现如果有默认构造方法执行putAll,addAll方法完成对象复制,
如果对象类型有复制构造方法,调用复制构造方法完成对象复制,
实现 Serializable接口的对象基于对象的序列化反序列化实现对象复制 |
public static <T> T cloneFields(T input,
int ifVolatile)
input - ifVolatile - 定义对 volatile 字段的处理方式:
null deepClone(Object)public static <T> T cloneFields(T input)
null返回nullcloneFields(Object, int)public static <T> T deepClone(T input)
null返回nullCloneable 接口的对象执行 clone 方法,
Map和Collection接口实现如果有默认构造方法执行putAll,addAll方法完成对象复制,
如果对象类型有复制构造方法,调用复制构造方法完成对象复制,
实现 Serializable接口的对象基于对象的序列化反序列化实现对象复制input - Copyright © 2023. All Rights Reserved.