【Java】 型変数にenum型の制約をつけるには… | さすらいびとの徒然漂流記

さすらいびとの徒然漂流記

ふらふら漂流するさすらいびとのように,色々な話題についてお気楽極楽,徒然なるままに…

Java Genericsで型変数にenum型だけを指定できるようにするにはどうするのか.

まあ,「コロたま」なネタだけどとりあえず.


class EnumGenericType<ET extends Enum<ET>> {

// 実装...

}


こうするとenum型以外はコンパイルエラーになる.たとえば...


EnumGenericType<RoundingMode> mode = new EnumGenericType<RoundingMode>(); // OK


EnumGenericType<Compiler> compiler = new EnumGenericType<Compiler>(); // error!

こんな感じ.