当前位置: 首页 > 知识库问答 >
问题:

枚举中冲突的名称声明

山寒
2023-03-14

我有一个简单的枚举类,我想在其中有一个名为name的字段。

enum class DeviceFieldQuery(val clazz: Class<*>) {
    id(Int::class.java),
    name(String::class.java),
}

不幸的是,这在静态编程语言中似乎不起作用。编译失败,消息

错误:(9,5)静态编程语言:冲突声明:枚举条目名称,公共最终val名称:字符串

同样的Enum类作为Java代码工作正常。如何用静态编程语言解决这个问题?

共有1个答案

葛勇锐
2023-03-14

Kotlin中的枚举已经定义了名称属性(如Java)。这与名为name的枚举冲突。要修复它,您可以将其大写,这更为惯用:

enum class DeviceFieldQuery(val clazz: Class<*>) {
    Id(Int::class.java),
    Name(String::class.java),
}
 类似资料:
  • 我应该工作,对吧?但它不是!!!!它告诉我dbValue可以转换为RelationActiveEnum...

  • 但我的代码不起作用,它说类型没有定义:

  • 问题内容: 考虑以下jfiddle http://jsfiddle.net/bchapman26/9uUBU/29/ 我有2个模块(module1和module2)。module1和module2都定义了一个名为myService的服务。当两个模块都导入myApp时,这似乎在Angular中的myService上创建了名称冲突。看来AngularJs仅使用第二个服务定义,而没有警告您可能的问题。

  • 我有几个具有相同的字段名: 尝试使用枚举类: 得到错误:

  • 问题内容: 我想要一个Java枚举,其值是整数。 例如: 但是我也想要这两个常量的自定义名称, 例如“ Task Created”和“ Task Deleted”(那里有空格)。 我想尽可能优雅地做到这一点,而无需编写 太多额外的代码。 我可以在没有其他 将枚举常量映射到其自定义名称的映射的情况下实现此目标吗? 我在该项目中使用JDK 6。 问题答案: 只需为此添加一个字段: 如果您不想指定字符串

  • 例如: Swagger这样显示枚举: 我想要的是: API返回“显示名称”,然而,Swagger显示“枚举名称”,这经常导致混淆。有可能改变狂妄的价值观吗?