我在 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
提交
取消