3

それを行うのは非常に簡単です。オブジェクトをファイルに書き留めてから、それを読み取ります。

私の質問は

  1. [RemoteClass(alias = "foo.Bar")]をVOに入れると、自動的にキャストできるのはなぜですか(そうでない場合、逆シリアル化されたオブジェクトのタイプは、正しいプロパティデータを含むジェネリックオブジェクトです)。
  2. RemoteClassタグなしでそれを達成する別の方法はありますか?(メタデータタグの使用が優先されます)

ありがとう

4

1 に答える 1

2
  1. 答えはあなたがリンクしたページにあります:

    エイリアスは、クラス インスタンスと共に格納されるキーであり、オブジェクトのインスタンスがシリアル化されるときに ByteArray に格納される特定のオブジェクトとクラス定義をリンクすることに注意してください。このキーは、このクラスを識別する任意の一意の文字列にすることができますが、規則では、完全に正規化されたパッケージとクラス名を使用します。

    そのため、エイリアスを省略すると汎用オブジェクトが取得されます。値をマップするクラスを指定しない限り、逆シリアル化メソッドはデータをどう処理するかを認識しません。

  2. はい、ありregisterClassAlias()ます。同じことを行います。しかし、メタデータ タグは読みやすいです ;)

于 2012-04-11T18:07:42.260 に答える