现象
idea警告,就下面这样
Not annotated parameter overrides @NonNullApi parameter
类似的还有这个:
Not annotated parameter overrides @NotNull parameter
这个警告看起来很不友好,看起来是让你加上@NotNull注解或者@NonNullApi ,但是加了根本没用!!!
虽然只是警告 但是强迫症很难受!!!
问题说明
错误提示是
Not annotated parameter overrides @NonNullApi parameter
直译:没有被注解的参数重写了@NonNullApi参数
这个提示是说因为被重写的方法的包被这个@NonNullApi注解了,所以方法参数也需要被注解
提示Not annotated parameter是说没有给参数加注解,至于加啥注解提示里没说。
解决方式(两种)
使用“javax.annotation.Nonnull”注解可以解决
直接给参数添加@Nonnull注解
import javax.annotation.Nonnull;
@Slf4j
@Configuration
public class ScheduledConfigurer implements SchedulingConfigurer {
@Override
public void configureTasks(@Nonnull ScheduledTaskRegistrar taskRegistrar) {
taskRegistrar.setScheduler(taskExecutor());
}
}
使用“org.springframework.lang.NonNullApi”注解可以解决
在package-info.java文件中给包加上@NonNullApi注解
@NonNullApi
package com.jswdwsx.configurer;
import org.springframework.lang.NonNullApi;
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦