16

クラスオブジェクトを持つKotlinクラスがあります。

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

Java からこのクラスを使用している場合、クラス オブジェクト内の SomeValue にアクセスするにはどうすればよいですか? 静的プロパティを持つ Java クラスの場合は、Foo.SomeValue を使用するだけですが、ここでは使用できません。

IntelIJ は、アクセスできることを示していますFoo.object.$instanceが、$instancegetSomeValue などはありません。とにかく $instance.SomeValue を使用しようとすると、ビルド時に次のようなエラー メッセージが表示されます。

SomeValue には Foo.object へのプライベート アクセスがあります

Kotlin 0.5.1 を使用しています。

4

3 に答える 3

8

getSomeValue() の「不在」は、IDE のバグです。これを使えばコンパイルOK。問題を作成しました: http://youtrack.jetbrains.com/issue/KT-3337

于 2013-02-10T10:25:36.673 に答える
5
data class YourClass(@JvmField val name: String)
于 2020-04-07T11:06:20.707 に答える