我正在尝试实施JsonHttpResponseHandler#onSuccess。当我使用时:
fun onSuccess(status: Int, headers: Array<Header>?, response: JSONArray?)
我收到意外覆盖错误,但是当我添加override
修饰符时,出现onSuccess overrides nothing
错误。我做错了什么,或者我在Kotlin编译器中发现了一个错误?
答案 0 :(得分:3)
尝试使用&#34;覆盖方法&#34; (Mac上为^O
),它会建议正确的签名。
我想它是
fun onSuccess(status: Int, headers: Array<out Header>?, response: JSONArray?)
但我不确定。
答案 1 :(得分:1)
在Kolint M9中,您可以更灵活地覆盖有关可空性的Java方法。这是人们最容易出错的事情之一,而不是从Kotlin的角度看Java参数可能是NULL。在M9中,您可以获得您希望Kotlin如何处理Nullability的参数,而不是如何从Java角度实际看到它们。因此,如果您知道参数永远不为null,则可以在没有?的情况下接收它。以前这会导致检查您是否实际覆盖方法并给出错误时不匹配,现在认为它是等效的。