我有一个已转换为 Kotlin 的 Java 接口(interface)类。在转换时,当使用 getter 和 setter 时,它会在其他文件上产生很多错误。
Java接口(interface)类:
public interface ValueFormElement extends BaseElement {
Pair<Boolean, Hashtable<String,String>> getValue();
String getName();
void setName(String name);
void setValue(String value);
}
在转换时,它会删除 getter 并在其他类中使用 getter。这是生成的 Kotlin 类
interface ValueFormElement : BaseElement {
val value: Pair<Boolean, Hashtable<String, String>>
var name: String
fun setValue(value: String)
}
如果有人有一种方法可以使用 get 和 set 干净地实现或完成它而不影响代码的其余部分,请告诉我或指导我。
最佳答案
使用var
,将生成一个 get/set 方法以供在 Java 中使用。然而,对于 val
,仅提供了 get 方法(因为 val 意味着只读)。您只需合并两个 var
即可匹配 Java 实现:
interface ValueFormElement : BaseElement {
var value: Pair<Boolean, Hashtable<String, String>>
var name: String
}
关于java - 从 Java 生成 Kotlin 接口(interface)类会生成错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55907426/