我在 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 设置数组的第一个元素中的属性?
2 回答
忽然笑
TA贡献1806条经验 获得超5个赞
对于每个 Kotlin 属性,您可以在 Java 中将其 getter 称为 ,如果该属性是可变的,则将 setter 称为 。foogetFoo()setFoo(value)
请参见: 从 Java 调用 Kotlin — 属性
在你的例子中,只需使用 getter 访问数组,获取其项并调用 setters: and ,或者将 分配给局部变量:myObject.getOwners()[0].setUserId("001");myObject.getOwners()[0].setUserName("Freddy");Owner
MyClass.Owner owner = myObject.getOwners()[0];
owner.setUserId("001");
owner.setUserName("Freddy");
跃然一笑
TA贡献1826条经验 获得超6个赞
使用哪个将返回对象,然后设置值。getOwnersowners
myObject.getOwners()[0].setUserId("001");
myObject.getOwners()[0].setUserName("Freddy");
添加回答
举报
0/150
提交
取消