クラス KeyFactory

java.lang.ObjectSE
org.springframework.cglib.core.KeyFactory

public abstract class KeyFactory extends ObjectSE
マップやセットなどで使用するために、複数値のキーを処理するクラスを生成します。equals および hashCode メソッドのコードは、JoshuaBloch によって EffectiveJava で規定されたルールに従います。

KeyFactory を生成するには、キーの構造を説明するインターフェースを提供する必要があります。インターフェースには、Object を返す newInstance という名前の単一のメソッドが必要です。引数配列は何の --Objects、プリミティブ値、いずれかの単一またはマルチ次元配列とすることができます。例:

     private interface IntStringKey {
         public Object newInstance(int i, String s);
     }
 

KeyFactory を作成したら、インターフェースで定義された newInstance メソッドを呼び出して新しいキーを生成します。

     IntStringKey factory = (IntStringKey)KeyFactory.create(IntStringKey.class);
     Object key1 = factory.newInstance(4, "Hello");
     Object key2 = factory.newInstance(4, "World");
 

:2 つのキー key1 と key2 の間の hashCode の同等性は、key1.equals(key2) キーが同じファクトリで製造された場合にのみ保証されます。