0

シリアライズ可能を実装する基本クラス (A) があります。このクラスには生成された SerailVersionUID がありますが、その子クラス (B) には serialVersionUID がありません。

私は以下を用意しています(入力ストリームにはタイプBのオブジェクトが含まれています)

public Object getObject() throws...
{
  Object o = someObjectInputStream.readObject();
  return o;
}

readObject() によって返されたオブジェクトをキャストするのがベスト プラクティスであることはわかっていますが、getObject(); を呼び出すメソッドによって、返されたオブジェクトに対してキャストが行われます。

質問: 返されたオブジェクトがタイプ A または B のいずれかである可能性があるというのは本当ですか? UIDがないことを考慮して、返される型が常にBであるという保証はありますか?

ありがとう

4

1 に答える 1

0

serialVersionUID がないという事実は、受け取るクラスには関係ありません。これは、送信したクラスによってのみ決定されます。あなたの質問は本当に意味がありません。

于 2013-10-09T09:56:47.770 に答える