这两个注释之间有什么区别?
org.jetbrains.annotations.NonNull
android.support.annotation.NonNull
kotlin编译器 IntelliJ是否会尊重 android.support.annotation.NonNull
并添加断言来检查我是否将null参数传递给相应的java函数?
Android lint是否会尊重 org.jetbrains.annotations.NonNull
并在检查已经是NonNull的变量时向我显示警告?
我应该何时使用另一个?
答案 0 :(得分:4)
使用org.jetbrains.annotations.NonNull
IntelliJ IDEA指出合同被违反。仅在使用IDE时完成。
然而
android.support.annotation.NonNull
由Lint等检查工具处理。如果您在不使用Android Studio或其他IDE的情况下运行检查(例如,通过命令行或通过Jenkins运行),这将非常有用
修改强>
基于@user2340612
突出显示的documentation Kotlin编译器支持它们。由于它在编译器级别受支持,它也应该在命令行中工作。