https://kotlinlang.org logo
#russian
Title
# russian
l

lex

03/15/2017, 10:17 AM
коллеги, имея 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()
3 Views