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

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

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

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

您也可以在局部变量和字段上使用@Nullable@NotNull注释来提高IDE对可空值的支持(编译器在运行时更可能会失败)。

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