如何重新实现枚举的valueof

我需要重新实现一些枚举的enum.valueof方法,以使它们不再抛出异常,而如果枚举中不存在值,则它们仅返回null。

我正在尝试基本

@Override

public static <T extends Enum<T>> T valueOf(Class<T> enumType,

String name){

但是它不起作用,说我需要重写或实现一个超级类型。

我猜想我可以开设一个超级班,但是我不确定如何将它们放在一起。有任何想法吗?

回答:

你不能 您必须定义另一个不同的方法。valueOf方法由编译器自动生成。

public static MyEnum permissiveValueOf(String name) {

for (MyEnum e : values()) {

if (e.name().equals(name)) {

return e;

}

}

return null;

}

以上是 如何重新实现枚举的valueof 的全部内容, 来源链接: utcz.com/qa/406816.html

回到顶部