我正在Kotlin写一个Android库。但是当在用Java编写的Android应用程序中使用时,支持非常差。例如,Java中仍然需要Kotlin中的默认参数。另一个是,非空参数在Kotlin应用程序中不接受null(编译时错误),但在Java中传递null
时抛出运行时异常。我知道空检查,但它们使代码看起来很脏。
支持Android Java应用程序的正确方法是什么?欢迎提出方向,建议和实例。感谢。
答案 0 :(得分:1)
当函数具有默认参数时,您可以使用@JvmOverloads
注释为Java用户创建单独的方法。 Kotlin中的Java支持也有类似的增强功能。 Here列出了您可以执行的操作。
您还可以对局部变量和字段使用@Nullable
和@NotNull
注释,以改善IDE对可空值的支持(编译器在编译时更可能失败而不是运行时)。
当您使用null
注释时,IntelliJ Idea会自动为您生成@NotNull
次检查。