1

我正在尝试实现JsonHttpResponseHandler#onSuccess。当我使用:

fun onSuccess(status: Int, headers: Array<Header>?, response: JSONArray?)

我得到一个意外的覆盖错误,但是当我添加override修饰符时,我得到一个onSuccess overrides nothing错误。我做错了什么,还是我在 Kotlin 编译器中发现了一个错误?

4

2 回答 2

5

尝试使用“覆盖方法”(^O在 Mac 上),它会建议正确的签名。

我想它是

fun onSuccess(status: Int, headers: Array<out Header>?, response: JSONArray?)

但我不确定。

于 2014-10-06T21:10:29.943 回答
1

在 Kolint M9 中,您可以更灵活地覆盖有关可空性的 Java 方法。这是人们最容易出错的事情之一,从 Kotlin 的角度看,Java 参数可能是 NULL。在 M9 中,您可以接收您希望 Kotlin 如何处理 Nullability 的参数,而不是从 Java 角度实际看待它们的方式。因此,如果您知道参数永远不会为空,则可以在没有 ? 的情况下接收它。以前这会导致检查您是否实际覆盖该方法并给出错误的不匹配,现在它被认为是等效的。

于 2014-10-16T11:02:55.790 回答