【发布时间】:2015-09-20 11:01:21
【问题描述】:
我正在尝试使用 Kryo 库来执行对象的深度复制,但我遇到了一个小问题。我想深度复制一个没有瞬态变量的对象。我知道我可以将setCopyTransient(false) 用于FieldSerializer,如下所示:
FieldSerializer<?> playerSerializer = new FieldSerializer<Player>(kryo, Player.class);
playerSerializer.setCopyTransient(false);
kryo.register(Player.class, playerSerializer);
但我必须为每个班级设置一个新的FieldSerializer。我可以以某种方式从 Kryo 获得默认的 FieldSerilizer 并设置为 setCopyTransient(false) 吗?我尝试了类似的解决方案和类似的解决方案,但它什么也没做:
FieldSerializer<?> serilizer = (FieldSerializer<?>) kryo.getDefaultSerializer(FieldSerializer.class);
serilizer.setCopyTransient(false);
【问题讨论】:
标签: java serialization deep-copy kryo