【问题标题】:Android library written in Kotlin, provide support for Java apps用 Kotlin 编写的 Android 库,提供对 Java 应用程序的支持
【发布时间】:2017-07-06 18:32:15
【问题描述】:

我正在用 Kotlin 编写一个 Android 库。但是在用 Java 编写的 Android 应用程序中使用时,支持很差。例如,Java 中仍然需要 Kotlin 中的默认参数。另一种是,非空参数在 Kotlin 应用程序中不接受空值(编译时错误),但在 Java 中传递 null 时会引发运行时异常。我知道空检查,但它们使代码看起来很脏。

支持 Android Java 应用程序的正确方法是什么?欢迎指导,建议,示例。谢谢。

【问题讨论】:

    标签: java android kotlin language-interoperability


    【解决方案1】:

    当函数具有默认参数时,您可以使用 @JvmOverloads 注释为 Java 用户创建单独的方法。 Kotlin 中也有更多类似的对 Java 支持的增强。 Here 列出了你可以做什么。

    您还可以在局部变量和字段上使用 @Nullable@NotNull 注释来改进 IDE 对可空值的支持(编译器更有可能在编译时而不是运行时失败)。

    当您使用 @NotNull 注释时,IntelliJ Idea 会自动为您生成不 null 检查。

    【讨论】:

    • 欣赏建议。是否有一些此类做法的汇编?
    • @Ryan 添加了我的答案的链接。看看吧
    猜你喜欢
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-05
    • 2016-08-09
    相关资源
    最近更新 更多