java - 使用存储在字符串中的值作为枚举对象?

标签 java grails groovy

我有一个枚举。字符串包含枚举的名称。我想使用字符串访问枚举。像这样的东西。但这不起作用:(

public enum Level {     HIGH,     MEDIUM,     LOW }
def x = "Level"
println "$x".values();

最佳答案

您可以使用Class.forName方法来做到这一点。例如

    public enum Level {     
        HIGH,     
        MEDIUM,     
        LOW 
    }

    def clazz = Class.forName("Level")
    println clazz.values()

请记住,您应该使用完全限定的类名。了解更多详情http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#forName(java.lang.String)

关于java - 使用存储在字符串中的值作为枚举对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32394120/

相关文章:

java - Java中的Continue语句

hibernate - 请求结束时 GORM 自动刷新而不调用保存

Grails 升级到 2.2.2 失败,迁移脚本出现 ClassNotFoundException

java - 避免为每条记录重新初始化 groovy shell

groovy - Groovy 中是否可以获取变量的名称?

gradle - 在ext中创建一个闭包

java - SpringFramework 中的 Bean 内的 Bean?

Java - 实例化通用类型类

java - 如何分离包含特定 JSON 数组的 JSON 值

google-app-engine - 在Google AppEngine中部署Grails应用程序