【问题标题】:Kotlin: Access nested enum class from javaKotlin:从java访问嵌套枚举类
【发布时间】:2017-10-20 08:55:28
【问题描述】:

我正在尝试从 java 访问具有嵌入式枚举的数据类

data class MyStatus( val status: Status ) {
   enum class Status{ OK, ERROR }
}

如果我从 Java 中使用 Status,它似乎是不可见的。有什么方法可以实现吗?

【问题讨论】:

  • 公开 ;)
  • @VeselinDadidov 它已经是 public,因为 public 是 Kotlin 中的 默认 可见性修饰符

标签: java kotlin interop


【解决方案1】:

不,没问题,做就行 MyStatus s = new MyStatus(MyStatus.Status.ERROR);

这是编译器为您的Enum 生成的内容:

public static enum Status {
  OK,
  ERROR;
}

它嵌套在MyStatus

【讨论】:

  • 这就是我尝试过的。但我是在 Eclipse 中使用 Eclipse-Kotlin-Plugin 完成的,但效果不是很好。我现在使用 IntelliJ 进行了尝试,它按预期工作。
  • Eclipse 插件没有维护 afaik。如果你有机会使用 IntelliJ ;-)
  • 使用 kotlin 不是 ide 独立的,有点遗憾。我们的开发策略是使用 Eclipse。因此,向更广泛的受众推荐 kotlin 是不可能的。我了解 JetBrains 想要推广自己的 ide。但这会减慢或阻止 kotlin 的兴起。
  • Kotlin 本身是独立于 ide 的。可以安装 kotlin SDK 并使用 kotlinc 进行编译。 Kotlin 的 Eclipse 插件就是……一个插件。它将 Kotlin 支持添加到 Eclipse。听起来它只是没有得到很好的维护。
猜你喜欢
  • 2019-09-12
  • 2012-01-17
  • 2014-10-30
  • 1970-01-01
  • 1970-01-01
  • 2015-08-28
  • 2011-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多