Как решить проблему неконтролируемого приведенияJAVA

Программисты JAVA общаются здесь
Anonymous
Как решить проблему неконтролируемого приведения

Сообщение Anonymous »

Я пытаюсь получить значение ENUM поля ENUM класса. «значение» на самом деле является строковым значением, считанным из файла. Получение, но получение его, как показано ниже, выдает мне непроверенное предупреждение о приведении:
Object value = "BAR";
Field field = Test.class.getField("bar");

if (field.getType().isEnum()) {
value = Enum.valueOf((Class) field.getType(), (String) value);
Test test = new Test();
field.set(test, value);
}

...

public class Test {
public Foo bar;
}

...

public enum Foo {
BAR;
}

Предупреждение понятно, но я не понимаю, как ответить на это предупреждение, есть какие мысли?
[unchecked] unchecked method invocation: method valueOf in class Enum is applied to given types
required: Class,String
found: Class,String
where T is a type-variable:
T extends Enum declared in method valueOf(Class,String)


Подробнее здесь: https://stackoverflow.com/questions/782 ... ecked-cast

Вернуться в «JAVA»