複数の列挙型が ie の値を見つける必要があるという要件がありますMap<Key,Value>
(列挙型の組み合わせは一意の値を返します)。キーとして機能するラッパーオブジェクトにキーと言うような多くのオプションがあると思います。また、キーが 2 つに制限されている場合は、Guava Table を使用できます (不明)。
2 つの列挙型が一意の計算値にマップされる以下のアプローチを確認したいので、理解するための提案が必要です -
i) このアプローチが問題ない場合?
ii) はいの場合、スケーラブルですか? つまり、次のように「n」個の列挙型をサポートするように簡単に汎用にすることができますtoKey(Enum ...enums)
以下は、2 つの列挙型のスニペットです。
static Integer toKey(Status s, SubStatus ss) {
return Integer.valueOf(s.ordinal() * SubStatus.values().length + ss.ordinal());
}
と
Status { NONE, PASS, WARN, REJECT }
SubStatus { NONE, SOFT_REJECT, HARD_REJECT }
Integer key1 = toKey(Status.REJECT, SubStatus.HARD_REJECT)
Integer key2 = toKey(Status.WARN, SubStatus.NONE)
then key1 != key2
ありがとう!