Enum和enum之间的区别

时间:2013-04-04 10:35:05

标签: java enums

enum有valueOf(string)方法来获取枚举常量,以及名称为java.lang.Enum的{​​{1}}类中存在的相同类型的方法 我发现两者都给出相同的输出。那么还有什么其他差异。如果没有区别那么为什么JSL添加了valueOf(enumClassName, string)

Enum.valueOf()

3 个答案:

答案 0 :(得分:7)

包含Enum.valueof()方法的原因是它适用于任何enum。相比之下,特定方法的enum valueof方法仅适用于特定enum ...因为enum类不能以多态方式使用。

显然Enum.valueOf(...)方法只有在实现需要的代码才能为多个enum类型工作时才真正有用......并且泛型不会削减它。

答案 1 :(得分:1)

Enum中的方法是通用的,可以与任何枚举一起使用,枚举中的方法仅限于该枚举。

答案 2 :(得分:1)

Enum.valueOf(Class<T>, String)用于实现生成到每个特定枚举类中的valueOf(String)方法。