克隆
ObjectUtil#clone克隆对象,如果对象实现Cloneable接口,调用其clone方法,如果实现Serializable接口,执行深度克隆,否则返回null。
classObjextendsCloneSupport<Obj> { publicStringdoSomeThing() { return"OK"; } }
Objobj=newObj(); Objobj2=ObjectUtil.clone(obj); // OKobj2.doSomeThing();
ObjectUtil#cloneIfPossible返回克隆后的对象,如果克隆失败,返回原对象ObjectUtil#cloneByStream序列化后拷贝流的方式克隆,对象必须实现Serializable接口