【问题标题】:The method valueOf(Class<T>, String) in the type Enum is not applicable for the arguments (Class<Enum<T>>, String)Enum 类型中的方法 valueOf(Class<T>, String) 不适用于参数 (Class<Enum<T>>, String)
【发布时间】:2021-08-31 16:13:12
【问题描述】:

我不知道我做错了什么...在构造函数中,我想接收一个枚举类,并且当一个值作为参数传递给 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);
    }
}

但它给了我关于“valuesOf()”的错误:
"Enum 类型中的方法 valueOf(Class, String) 不适用于参数 (Class, String)"

【问题讨论】:

  • private final Class&lt;T&gt; enumClass;...

标签: java class generics enums


【解决方案1】:

更改类型和构造函数:

private final Class<T> enumClass;

public EnumSimplesConverter(Class<T> enumClass) {
    this.enumClass = enumClass;
}

您已经通过T extends Enum&lt;T&gt; 强制执行T

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多