java - 从 Java 生成 Kotlin 接口(interface)类会生成错误

标签 java android kotlin

我有一个已转换为 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/

相关文章:

java - Java 桌面应用程序的安装程序

java - 启动 Activity 内存泄漏

gradle - 使用 gradle 将 'provided' 配置添加到 kotlin/java 库

android - 绑定(bind)到android中的挂起函数

java - Adobe CQ/AEM - 从自定义登录模块连接到数据库

java - Java 中指向 String 方法的函数指针

android - 如何通过android端编码使用firebase发送通知?

android - 如何在 React Native 启动画面后禁用后退按钮

android - Kotlin-在随机列表中获取新的项目索引

java - Spring Boot 中用户定义的休息端点