用Kotlin编写的Android库,为Java应用程序提供支持

时间:2017-07-06 18:32:15

标签: java android kotlin language-interoperability

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

支持Android Java应用程序的正确方法是什么?欢迎提出方向,建议和实例。感谢。

1 个答案:

答案 0 :(得分:1)

当函数具有默认参数时,您可以使用@JvmOverloads注释为Java用户创建单独的方法。 Kotlin中的Java支持也有类似的增强功能。 Here列出了您可以执行的操作。

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

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