我正在使用 Kryo 库在 Java 中进行序列化。我有一个问题,我无法强制向上转型。这是一个示例情况:
class A {}
class B extends A {}
public save() {
Kryo kryo = new Kryo();
kryo.setRegistrationRequired(true); //force registration
kryo.register(A.class); //register A with kryo
Output output = new Output( ... );
B bar = new B();
kryo.writeObject(output, (A) bar); //try to cast it up
}
这会导致class not registered
错误,因为bar
它仍然是B
.
有什么方法可以强制bar
转换为 的实例A
,还是我需要做类似的事情new A(bar)
?