【发布时间】:2015-11-16 08:49:26
【问题描述】:
如果我想在 java 中复制模型对象,最好的方法是什么?因为在 java 中为嵌套对象编写 copy() 函数变得很麻烦。我只是想避免这种情况。作为一种捷径,我使用这种方法。
public static <T> T copy(T model, Class<T> tClass) throws Exception {
final ObjectMapper objectMapper = new ObjectMapper();
final byte[] bytes = objectMapper.writeValueAsBytes(model);
final T copy = objectMapper.readValue(bytes, tClass);
return copy;
}
然后像这样使用它。
final McTrack copy = copy(new McTrack(), McTrack.class);
我制作了一个实用函数 copy(),它接受一个模型对象并返回它的副本。首先,我将整个对象序列化为 json,然后再次反序列化以制作副本。但我不确定它是否真的有效。有没有更好的方法来复制普通的旧 java 对象。
【问题讨论】:
标签: java serialization pojo