gpt4 book ai didi

java - 如何为这个 Kotlin 类属性使用 setter?

转载 作者:行者123 更新时间:2023-11-29 08:23:53 25 4
gpt4 key购买 nike

我在 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 编写的带有公共(public)成员的对象,我会做类似的事情:

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

由于对象是用 Kotlin 编码的,我需要使用 Java 中的 setter。

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

最佳答案

对于每个 Kotlin 属性 foo,您可以在 Java 中将其 getter 调用为 getFoo(),如果该属性是可变的,则可以将 setter 调用为 setFoo(值)

参见:Calling Kotlin from Java — Properties

在您的情况下,只需使用 getter 访问数组,获取其项并调用 setter:myObject.getOwners()[0].setUserId("001"); myObject.getOwners()[0].setUserName("Freddy");,或将 Owner 分配给局部变量:

MyClass.Owner owner = myObject.getOwners()[0];
owner.setUserId("001");
owner.setUserName("Freddy");

关于java - 如何为这个 Kotlin 类属性使用 setter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55107713/

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