java 在检查了type.isEnum()之后,如何应用Enum.valueOf(type,name)?

wpx232ag  于 2023-02-28  发布在  Java
关注(0)|答案(1)|浏览(142)
static <T> T parse(Class<T> type, String value) {
    if (type.isEnum()) {
        return Enum.valueOf(type, value);
    }
    return null; // unimplemented
}

这行不通因为
类型Enum中的方法valueOf(Class〈T extends Enum〉,String)不适用于参数(Class,String)。
我该怎么办?

z9ju0rcb

z9ju0rcb1#

@SuppressWarnings({ "unchecked", "rawtypes" })
static <T> T parse(Class<T> type, String value) {
    if (type.isEnum()) {
        return (T) Enum.valueOf((Class<? extends Enum>) type, value);
    }
    return null; // unimplemented
}

相关问题