我与 Kotlin 的爱恨情仇日常开发Bug小记

kotlin 实现 Java 接口时参数包含Integer时出错

2017-10-16  本文已影响56人  IMSk

今天开发过程中,同事反馈了一个bug,觉得挺神奇,记录一下。

  1. Java interface ‘ServiceCallBack’
ServiceCallBack.java
  1. Kotlin ‘RemoteServiceCallback’ 抽象类实现 ‘ServiceCallBack’
RemoteServiceCallback.kt
  1. 在 Kotlin 代码中使用 ‘RemoteServiceCallback’ 完美
CommentApi.kit
  1. 在 Java 代码中使用 ‘RemoteServiceCallback’ 出现了问题:
Java中使用异常

在 Java中必须实现 ‘onFailure(Integer result, String resultMsg)’方法,但是在Kotlin中确实正常的,原因可能是Java签名和Kotlin的签名Integer不同导致的, Kotlin中的Integer用int来代替,但是new 一个 Kotlin的抽象类试此时识别错误。

issue在这里:https://discuss.kotlinlang.org/t/java-interface-method-integer-kotlin-implement-it-but-java-new-this-impl-class-fail/5010

上一篇下一篇

猜你喜欢

热点阅读