Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么它抱怨Kotlin中的“声明具有从平台调用推断的类型”?_Android_Kotlin - Fatal编程技术网

Android 为什么它抱怨Kotlin中的“声明具有从平台调用推断的类型”?

Android 为什么它抱怨Kotlin中的“声明具有从平台调用推断的类型”?,android,kotlin,Android,Kotlin,为什么它抱怨声明具有从平台调用推断的类型 当java中的方法用NotNull注释时。 如果java方法没有使用NotNull注释,我将看到此警告 科特林代码 override fun getOverlay() = createDefaultOverlay(context) java中的数据和代码 @NonNull public static RecyclerView createRecyclerView(@NonNull Context context) {} @NonNu

为什么它抱怨
声明具有从平台调用推断的类型
当java中的方法用NotNull注释时。 如果java方法没有使用NotNull注释,我将看到此警告 科特林代码

 override fun getOverlay() =  createDefaultOverlay(context)
java中的数据和代码

   @NonNull
    public static RecyclerView createRecyclerView(@NonNull Context context) {}
@NonNull(when=when.ALWAYS)
应该告诉Kotlin Java代码正在返回一个非空值


在您的例子中,您没有直接使用
@NonNull(when=when.ALWAYS)
,而是使用了一些其他自定义注释来应用
@NonNull(when=when.ALWAYS)
。显然,IDE检查中存在一个不处理这种情况的可空性缺陷或限制。如果您可以创建一个可重复的示例项目,请考虑提交一个bug报告。< /P>您使用的是哪一个代码> NotNull < /代码>注释?请注意,它的完全限定类名是什么?@javax.annotation.NonNull如果我解释正确,您需要使用
@NonNull(when=when.ALWAYS)
。是的,这就是我们正在使用的。但在这种情况下,为什么编译器会抱怨?“出于某些原因,我们有自己的注释,它指的是@NonNull(when=when.Always)”——因此,这就是您的实际代码和问题中的代码之间的两个显著区别:-(尝试直接使用
@NonNull(when=when.ALWAYS)
的某个地方。它是否提供了您想要的内容?如果是,则IDE检查中存在一个错误/限制,它没有处理引用
@NonNull
的注释。