接口Enum的静态方法

时间:2012-08-20 10:26:02

标签: java interface enums

Enum.valueOf()不能被具体valueOf类型的另一个静态方法Enum隐藏,但由于我使用文本文件的反射创建我的对象,我需要一种通用的方法来调用{ {1}}。

目前我的valueOf有一个静态类Enum

fromString()

但是我如何界面这样一种方法,当我处理枚举字段类型时,我调用了适当的方法?我唯一能想到的是:

  • 使用标记界面
  • 为每个枚举实现此静态方法
  • 通过反射调用静态方法

是否有另一种方法可以强制执行此限制?

2 个答案:

答案 0 :(得分:2)

如果我理解正确,您将需要通过独特的fromString方法集成许多不同的枚举。我所做的是创建一个单独的类,将所有枚举成员累积到一个static final Map中,fromString方法就此实现。

所有枚举在我的情况下实现了一个通用接口,因为我需要调用许多自定义方法,而不管有问题的确切枚举。

答案 1 :(得分:-2)

当然,它是内置的:使用Enum#valueOf(Class<T> enumType, String name)