想将一个对象的数据复制到另一个对象上面,用BeanUtils等著名的开源类来操作时,结果有些属性没有数据时()出现空指针异常,主要是这里面还有相关方法导致,也不想去管它里面还有什么关联方法了,直接自己写一个做一个深克隆了事。
很简单,就是做了个序列化和反序列化。
对集合更有用些,如果想用集合里的对象值,但又需要构建新的对象时。
public <T> T copy(Object source) throws IOException, ClassNotFoundException{
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(source);
ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bos.toByteArray()));
return (T)ois.readObject();
}