java.util.function.BiFunction
s のペアを値にマッピングするから、そのマッピングを反映Enum
する を構築したいと考えています。EnumMap
たとえば、letE1
とE2
be はenum
型であり、T
任意の型です。
BiFunction<E1,E2, T> theBiFunction = //...anything
EnumMap<E1,EnumMap<E2,T>> theMap =
buildTheMap( // <-- this is where the magic happens
E1.values(),
E2.values(),
theBiFunction);
タイプE1
とE2
E1 e1 = //any valid value...
E2 e2 = //any valid value....
以下の両方の値は等しくなければなりません。
T valueFromTheMaps = theMap.get(e1).get(e2);
T valueFromTheFunction = theBiFunction.apply(e1,e2);
boolean alwaysTrue = valueFromTheMaps.equals(valueFromTheFunction);
「魔法」が発生するメソッドの最適な (よりエレガントで効率的ななど) 実装は何ですか?