Java 为什么';t@NotNull是否引发编译时错误?
我刚遇到注释,就开始使用它们。我制作了一个接口,它有一个带有@NotNull参数的方法签名,类似于Java 为什么';t@NotNull是否引发编译时错误?,java,android,annotations,Java,Android,Annotations,我刚遇到注释,就开始使用它们。我制作了一个接口,它有一个带有@NotNull参数的方法签名,类似于 interface { public void test(@NotNull CustomObject c ); } 我在一个类中实现了这个方法 clazz implements interface { @Override public void test(@NotNull CustomObject c) { } } 我希望编译时newclazz().test(null)会抱怨,但事实
interface {
public void test(@NotNull CustomObject c );
}
我在一个类中实现了这个方法
clazz implements interface
{
@Override
public void test(@NotNull CustomObject c)
{
}
}
我希望编译时newclazz().test(null)
会抱怨,但事实并非如此。我使用的是基于Intellij的Android studio
如果这些注释不应该给我们带来编译时错误,那么它们是用来做什么的呢?我认为您使用它的目的是错误的 @NotNull @NotNull注释实际上是一个明确的约定,声明了以下内容: 方法不应返回null。 变量(如字段、局部变量和参数)不能包含空值。 有关更多信息和代码示例,请参阅联机操作 IntelliJ IDEA会在违反这些合同时发出警告
请查看资源链接以了解更多信息我认为您使用它的目的是错误的 @NotNull @NotNull注释实际上是一个明确的约定,声明了以下内容: 方法不应返回null。 变量(如字段、局部变量和参数)不能包含空值。 有关更多信息和代码示例,请参阅联机操作 IntelliJ IDEA会在违反这些合同时发出警告
请查看资源链接了解更多信息是的,您是对的,
@NotNull
默认情况下不用于获取Java中的编译时错误。对于IntelliJ,您可以配置每次在代码中违反@NotNull
约定时IDE都会输出警告(有关更多详细信息,请查看Jetbrains。是的,您是对的,@NotNull
在默认情况下不用于获取Java中的编译时错误。对于IntelliJ,您可以配置IDE在每次代码中违反@NotNull
约定时输出警告(有关更多详细信息,请查看Jetbrains)。