enum有valueOf(string)
方法来获取枚举常量,以及名称为java.lang.Enum
的{{1}}类中存在的相同类型的方法
我发现两者都给出相同的输出。那么还有什么其他差异。如果没有区别那么为什么JSL添加了valueOf(enumClassName, string)
?
Enum.valueOf()
答案 0 :(得分:7)
包含Enum.valueof()
方法的原因是它适用于任何enum
。相比之下,特定方法的enum
valueof
方法仅适用于特定enum
...因为enum
类不能以多态方式使用。
显然Enum.valueOf(...)
方法只有在实现需要的代码才能为多个enum
类型工作时才真正有用......并且泛型不会削减它。
答案 1 :(得分:1)
Enum中的方法是通用的,可以与任何枚举一起使用,枚举中的方法仅限于该枚举。
答案 2 :(得分:1)
Enum.valueOf(Class<T>, String)
用于实现生成到每个特定枚举类中的valueOf(String)
方法。