2016-09-14 5 views
0

私は専門家のツリーコレクションを作成していますが、nullの代わりにNILのノードが必要です。なぜjava static class Singleton with genericの理由についての良い説明がありますが、タイプに関係なく1つのインスタンスが必要なハイライトです。それは私の場合にはうまくいくでしょう:NILの動作は同じです。汎用クラスのNILノードの設計

この場合、いくつかの簡単な回避策がありますが、私が取り組んでいるユースケースには、NILのいくつかのバリエーションがあり、それぞれがインターフェイスの動作をオーバーライドしています。

NILを別のクラスにして、定数を使用するのではなく新しいインスタンスを作成できますが、非常に大きなコレクションを処理していて、実際には状態を保持していないオブジェクトのオーバーヘッドは必要ありません。

ジェネリック型を使用するメソッドをオーバーライドする機能を保持しながら、単一の定数オブジェクトを持つうまい方法がありますか?そうでない場合は、同じ結果を達成する別のデザインがありますか?

答えて

0

安全でないアップキャストをジェネリックゲッター機能にすることができます。例については、java.util.CollectionsのEMPTY_LISTとemptyList()のソースを参照してください。