如何对此 Kotlin 类属性使用 setter?

我在 Kotlin 中编写了以下类:


class MyClass {

    var color: String = ""

    var action: String = ""

    val owners = Array(1) {Owner()}


    class Owner {

        var userId: String = ""

        var userName: String = ""

    }

}

...我正在访问它Java:


MyClass myObject = new MyClass();

myObject.setColor("blue");

myObject.setAction("throw");

...我希望能够设置所有者。不过,我不知道该怎么做。如果它是一个用Java编码的带有公共成员的对象,我会做这样的事情:


myObject.owners[0].userId = "001";

myObject.owners[0].userName = "Freddy"

由于该对象是用Kotlin编码的,所以我需要在Java中使用一个setter。


如何使用 setter 设置数组的第一个元素中的属性?


饮歌长啸
浏览 81回答 2
2回答

忽然笑

对于每个 Kotlin 属性,您可以在 Java 中将其 getter 称为 ,如果该属性是可变的,则将 setter 称为 。foogetFoo()setFoo(value)请参见: 从 Java 调用 Kotlin — 属性在你的例子中,只需使用 getter 访问数组,获取其项并调用 setters: and ,或者将 分配给局部变量:myObject.getOwners()[0].setUserId("001");myObject.getOwners()[0].setUserName("Freddy");OwnerMyClass.Owner owner = myObject.getOwners()[0];owner.setUserId("001");owner.setUserName("Freddy");

跃然一笑

使用哪个将返回对象,然后设置值。getOwnersownersmyObject.getOwners()[0].setUserId("001");myObject.getOwners()[0].setUserName("Freddy");
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java