gpt4 book ai didi

scala - 如何从 Scala 访问 Java 枚举?

转载 作者:行者123 更新时间:2023-12-04 08:50:20 25 4
gpt4 key购买 nike

我的java类如下

public class Test {

protected enum TestEnum {A, B, C};

public Test(TestEnum te) {

}

}

这是我的 Scala
class ScalaEnum(myEnum: TestEnum) extends Test(myEnum) {

}

我收到以下错误消息

对象 Test 中的类 TestEnum 无法在对象 Test 中访问 不允许访问 protected 类 TestEnum,因为在包 XXX 中封闭类类 ScalaEnum 不是对象在定义了目标的包 YYY 中的对象 Test 的子类

最佳答案

正如@Alex 和@Jean-Phillipe 所说,这与您尝试访问枚举的事实没有太大关系,而更多地与内部类枚举是隐式静态的事实有关:请参阅 this answer , 例如。

这意味着您遇到了 this limitation .换 TestEnum使用 Scala 2.9.1 为我解决这个问题。

尽管如此,尽管 Martin 强烈反对取消限制,但您的代码在 Scala 2.10 中按预期工作。

关于scala - 如何从 Scala 访问 Java 枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6703545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com