tpc*_*iro 1 java generics enums class
我不知道我做错了什么......在构造函数中,我想接收一个枚举类,并且当一个值作为参数传递给 convert() 时,我想返回正确的枚举。
public final class EnumSimplesConverter<T extends Enum<T>> {
private final Class<Enum<T>> enumClass;
public EnumSimplesConverter(Class<Enum<T>> enumClass) {
this.enumClass = enumClass;
}
public Enum<T> convert(String value) throws TypeConverterException {
return Enum.valueOf(this.enumClass, value);
}
}
Run Code Online (Sandbox Code Playgroud)
但它给了我关于“valuesOf()”的错误:
“枚举类型中的方法 valueOf(Class, String) 不适用于参数 (Class<Enum>, String)”
更改类型和构造函数:
private final Class<T> enumClass;
public EnumSimplesConverter(Class<T> enumClass) {
this.enumClass = enumClass;
}
Run Code Online (Sandbox Code Playgroud)
你已经强制执行T通过T extends Enum<T>