коллеги, имея Class<T> (Е - enum, конкретный тип не известен перед компиляцией) можно ли получить конкретное значение перечисления по имени?
enumValueOf() не проходит т.к. требует конкретный тип перечисления
m
miha-x64
03/15/2017, 11:08 AM
Так Class<T> и есть конкретный тип.
java.lang.Class.getEnumConstants()
l
lex
03/15/2017, 11:50 AM
@miha-x64 таки по контексту он просто Class, а нужен Class<? extends Enum>
@miha-x64 решил таким способом:
fun extractEnum(value: String, clazz: Class<out Enum<*>>): Enum<*> = clazz.enumConstants.filter { it.name == value }.first()