从 Java 访问 Kotlin 类对象

2022-09-02 20:24:51

我有一个Kotlin类,它有一个类对象,例如

public class Foo {
    public class object {
        public val SomeValue : Int = 0
    }
}

如果我从Java使用这个类,我如何访问类对象中的SomeValue?如果它是一个具有静态属性的Java类,我会只使用Foo.SomeValue - 但我不能在这里这样做。

IntellIJ表明我可以访问,但没有getSomeValue或类似的东西。如果我尝试使用$instance。无论如何,当我构建错误消息时,某些值说:Foo.object.$instance$instance

SomeValue 在 Foo.object 中具有私有访问权限

我使用的是 Kotlin 0.5.1。


答案 1

作为一种解决方法,您应该能够使用以下命令使 Kotlin 字段可见:@JvmField

@JvmField var addressLocationBox: ToOne? = null

答案 2

getSomeValue() 的“absense”是 IDE 中的一个错误。如果使用它,它将编译正常。我创建了一个问题:http://youtrack.jetbrains.com/issue/KT-3337


推荐