シリアライズ可能を実装する基本クラス (A) があります。このクラスには生成された SerailVersionUID がありますが、その子クラス (B) には serialVersionUID がありません。
私は以下を用意しています(入力ストリームにはタイプBのオブジェクトが含まれています)
public Object getObject() throws...
{
Object o = someObjectInputStream.readObject();
return o;
}
readObject() によって返されたオブジェクトをキャストするのがベスト プラクティスであることはわかっていますが、getObject(); を呼び出すメソッドによって、返されたオブジェクトに対してキャストが行われます。
質問: 返されたオブジェクトがタイプ A または B のいずれかである可能性があるというのは本当ですか? UIDがないことを考慮して、返される型が常にBであるという保証はありますか?
ありがとう