通用Enum.valueOf方法:参数中的Enum类,并返回Enum项目

h

我想制作一个valueOf在传入参数的任何Enum类上实现的方法(并且还包装一些专门的错误/缺失名称代码)。所以基本上,我有几个枚举,例如:

enum Enum1{ A, B, C }
enum Enum2{ D, E, F }

我想要一种可以环绕的方法valueOf我找不到一种可以直接在参数中传递Enum类的方法valueOf这是我想出的:

private static Enum getEnum(Class<Enum> E, String name){
    for(Enum e: E.getEnumConstants())
        if(e.name().equals(name)){
            return e;
        }
    return null;
}

我想打电话给:getEnum(Enum1,"A")但它不喜欢它:

java: cannot find symbol
  symbol:   variable Enum1
  location: class Main
史诗熊猫力量

当您可以为此使用Java自己的实现时,为什么要实现自己的呢?

 YourEnum yourEnum = Enum.valueOf(YourEnum.class, value);

http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html#valueOf(java.lang.Class,%20java.lang.String)

您的方法将变为:

private static <E extends Enum<E>> E getEnum(Class<E> enumClass, String name){
    try {
        return Enum.valueOf(enumClass, name);
    } catch(IllegalArgumentException e) {
        return null;
    }
}

您可以通过以下方式调用它:

getEnum(Enum1.class, "A")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Enum.valueOf的通用用法

来自分类Dev

任何类型通用构造的Enum类

来自分类Dev

为什么抽象类java.lang.Enum中没有定义enum的valueOf(String name)方法?

来自分类Dev

Kotlin中的Enum.valueOf

来自分类Dev

在Java中的Enum和String列表中获取通用值

来自分类Dev

是否可以为通用Enum类型编写扩展方法?

来自分类Dev

Kotlin:Enum 类上的通用接口,具有从 String 映射的静态方法

来自分类Dev

Python从Enum类返回int

来自分类Dev

Android-通用Enum <?>抽象声明不适合扩展类中的枚举定义

来自分类Dev

通用Enum <-> Int转换器,用于数据绑定

来自分类Dev

在JAVA中使用此方法在ENUM类函数中更改ENUM的值

来自分类Dev

了解Enum类中的Java 7隐式方法调用

来自分类Dev

解析StringValueAttribute以返回Enum

来自分类Dev

哈希类与Enum在Python中的交互

来自分类Dev

从子类中的 Enum 返回值

来自分类Dev

从另一类的成员函数返回ENUM(在一个类中定义)

来自分类Dev

获取参数化类T的实际枚举类扩展Enum <?>

来自分类Dev

An enum that is not a sub of Enum?

来自分类Dev

Java:如何编写通用的函数来接受实现给定接口的Enum常量?

来自分类Dev

Java在超类方法中返回不带通用参数的子类

来自分类Dev

获取ENUM值的方法

来自分类Dev

如何为返回类型为enum的方法返回null?

来自分类Dev

ENUM类的编译错误

来自分类Dev

转换Enum以在类中使用

来自分类Dev

是否有专用的方法来获取python`Enum`中的项目数?

来自分类Dev

Map键最快的方法是什么:Enum.valueOf(〜)vs String.hashCode()?

来自分类Dev

为什么java方法Enum.valueof调用枚举类型构造函数?

来自分类Dev

获取功能创建的enum.Enum类的名称

来自分类Dev

Web API帮助页面,用于带有Enum参数的方法

Related 相关文章

  1. 1

    Enum.valueOf的通用用法

  2. 2

    任何类型通用构造的Enum类

  3. 3

    为什么抽象类java.lang.Enum中没有定义enum的valueOf(String name)方法?

  4. 4

    Kotlin中的Enum.valueOf

  5. 5

    在Java中的Enum和String列表中获取通用值

  6. 6

    是否可以为通用Enum类型编写扩展方法?

  7. 7

    Kotlin:Enum 类上的通用接口,具有从 String 映射的静态方法

  8. 8

    Python从Enum类返回int

  9. 9

    Android-通用Enum <?>抽象声明不适合扩展类中的枚举定义

  10. 10

    通用Enum <-> Int转换器,用于数据绑定

  11. 11

    在JAVA中使用此方法在ENUM类函数中更改ENUM的值

  12. 12

    了解Enum类中的Java 7隐式方法调用

  13. 13

    解析StringValueAttribute以返回Enum

  14. 14

    哈希类与Enum在Python中的交互

  15. 15

    从子类中的 Enum 返回值

  16. 16

    从另一类的成员函数返回ENUM(在一个类中定义)

  17. 17

    获取参数化类T的实际枚举类扩展Enum <?>

  18. 18

    An enum that is not a sub of Enum?

  19. 19

    Java:如何编写通用的函数来接受实现给定接口的Enum常量?

  20. 20

    Java在超类方法中返回不带通用参数的子类

  21. 21

    获取ENUM值的方法

  22. 22

    如何为返回类型为enum的方法返回null?

  23. 23

    ENUM类的编译错误

  24. 24

    转换Enum以在类中使用

  25. 25

    是否有专用的方法来获取python`Enum`中的项目数?

  26. 26

    Map键最快的方法是什么:Enum.valueOf(〜)vs String.hashCode()?

  27. 27

    为什么java方法Enum.valueof调用枚举类型构造函数?

  28. 28

    获取功能创建的enum.Enum类的名称

  29. 29

    Web API帮助页面,用于带有Enum参数的方法

热门标签

归档