【问题标题】:Kotlin traits and retrofitKotlin 特性和改造
【发布时间】:2014-10-28 07:41:41
【问题描述】:

我正在尝试在 Kotlin 中实现来自 here 的示例。我在运行时收到此错误“原因:java.lang.IllegalArgumentException:接口定义不得扩展其他接口”。当 Kotlin 特征没有实现任何方法时,有什么方法可以将它们视为 java 接口,或者我必须使用 java 接口吗?代码如下:

public trait RestAPI {

    [GET("/weather")]
    fun getList([Query("q")] place: String,
                [Query("units")] units: String)
            : Observable<WeatherData>
}            

以及导致错误的调用:

val service = restAdapter?.create(javaClass<RestAPI>())

【问题讨论】:

  • 讨论的是 Kotlin 的问题跟踪器:youtrack.jetbrains.com/issue/KT-5609
  • @user1202036 您能否查看下面的答案并接受它是否准确。 Kotlin 将 trait 重命名为 interface 并稍微改变了语义。并且上面@andrey 提到的问题已经解决了。

标签: retrofit kotlin


【解决方案1】:

此问题已修复。我正在使用 Kotlin 版本 0.9.976 以这种方式实现的 Retrofit。

【讨论】:

    猜你喜欢
    • 2018-05-03
    • 2021-05-25
    • 1970-01-01
    • 2022-01-04
    • 2018-08-31
    • 2021-05-27
    • 2020-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多