gpt4 book ai didi

java - @NonNullApi 是否涵盖静态方法?

转载 作者:行者123 更新时间:2023-12-04 10:52:35 29 4
gpt4 key购买 nike

我把 @org.springframework.lang.NonNullApi我的 package-info.java 上的注释用于存储库接口(interface)。

@NonNullApi
package ....jpa.repository;

IntellJ IDEA 告诉我 static 中的参数(或参数)方法不需要检查。

final class RepositoryUtil {

static void doSome(final CriteriaBuidler builder) {
if (builder == null) { // <<-- right here!!!
throw new NullPointerException("builder is null");
}
}
}

IntelliJ IDEA 告诉我

Parameter 'builder' inherits container annotation, thus 'non-null`



它是在告诉我真相吗?

最佳答案

是的。

根据文档,@NonNullApi是“一个常见的 Spring 注释,用于声明参数和返回值对于给定的包默认情况下被视为不可为空。”

如果 RepositoryUtil是您使用 @NonNullApi 注释的包的一部分,它的参数和返回值(显然意味着它的方法的参数和返回值)将是不可为空的,因此检查 null 将是多余的。

如果 builder参数实际上可以为空,你可以用 @Nullable 注释它覆盖您使用 @NonNullApi 建立的包默认值.

关于java - @NonNullApi 是否涵盖静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59402675/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com