Java 5より前では、注釈はありませんでした。その結果、クラスにメタデータを追加できませんでした。
クラスをシリアル化可能としてマークするには、Serializableインターフェイス(これはまさにマーカー)を実装し、さらにtransient
キーワードを使用して、必要に応じてフィールドをシリアル化不可としてマークする必要があります。
public class MyClass implements Serializable {
...
private transient Bla field;
...
}
これで、理論的には注釈を利用でき(これは注釈の完璧な使用法です)、次のようになります。
@Serializable
public class MyClass {
...
@Transient
private Bla field;
...
}
ただし、インターフェースとキーワードは非推奨ではなく、Java5ではそれらを置き換えるための注釈は追加されていません。
インターフェイスとキーワードを維持するためのこの決定の考慮事項は何ですか?
もちろん、Java 5より前のコードとの互換性の問題がありますが、ある時点で終了します(たとえば、ジェネリックスの新機能に関連して、JLSは、Javaプログラミング言語の将来のバージョンで使用が許可されない可能性があると指定しています生のタイプの)。では、シリアル化された注釈の方法も準備してみませんか?
何かご意見は?(私は具体的な参照を好むが:私は見つけることができなかったD )