1. @SuppressWarnings 注解
-
@SuppressWarnings
: 抑制编译器警告 -
如下,可以看到idea中有警告的颜色标注
-
当我们不希望看到这些警告的时候,可以使用
SuppressWarnings
注解来抑制警告信息 -
在
{" "}
中,可以写入你希望抑制(不显示)警告信息 -
在idea中可以看到这些警告的信息,然后根据下面的属性介绍依次填入对应的抑制警告的参数,如:
rawtypes
,抑制与使用raw类型相关的警告
unchecked
,抑制与未检查的作业相关的警告
unused
,抑制与未用的程式码及停用的程式码相关的警告 -
可以从下面的警告参数中找到对应的警告参数即可。可以看到警告全部被抑制了
-
当然,也可以直接选择参数
all
,警告就全部会被抑制 -
关于
SuppressWarnings
作用范围是和放置的位置相关 -
比如
@SuppressWarnings
放置在 main方法,那么抑制警告的范围就是 main,通常我们可以放置具体的语句、方法、 类。 -
@SuppressWarnings
注解的常见的值
-
unchecked
是忽略没有检查的警告 -
rawtypes
是忽略没有指定泛型的警告(传参时没有指定泛型的警告错误) -
unused
是忽略没有使用某个变量的警告错误
-
@SuppressWarnings
可以修饰的程序元素,查看 @Target
查看源码:
(1) 放置的位置就是 TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE
(2) 该注解类有数组 String[] values()
,设置一个数组比如 {"rawtypes", "unchecked", "unused"}
- 生成
@SupperssWarnings
时,不用背,直接点击左侧的黄色提示,就可以选择(注意可以指定生成的位置)
2. @SuppressWarning 中的属性介绍以及属性说明
all,抑制所有警告
boxing,抑制与封装/拆装作业相关的警告
cast,抑制与强制转型作业相关的警告
dep-ann,抑制与淘汰注释相关的警告
deprecation,抑制与淘汰的相关警告
fallthrough,抑制与switch陈述式中遗漏break相关的警告
finally,抑制与未传回finally区块相关的警告
hiding,抑制与隐藏变数的区域变数相关的警告
incomplete-switch,抑制与switch陈述式(enum case)中遗漏项目相关的警告
javadoc,抑制与javadoc相关的警告
nls,抑制与非nls字串文字相关的警告
null,抑制与空值分析相关的警告
rawtypes,抑制与使用raw类型相关的警告
resource,抑制与使用Closeable类型的资源相关的警告
restriction,抑制与使用不建议或禁止参照相关的警告
serial,抑制与可序列化的类别遗漏serialVersionUID栏位相关的警告
static-access,抑制与静态存取不正确相关的警告
static-method,抑制与可能宣告为static的方法相关的警告
super,抑制与置换方法相关但不含super呼叫的警告
synthetic-access,抑制与内部类别的存取未最佳化相关的警告
sync-override,抑制因为置换同步方法而遗漏同步化的警告
unchecked,抑制与未检查的作业相关的警告
unqualified-field-access,抑制与栏位存取不合格相关的警告
unused,抑制与未用的程式码及停用的程式码相关的警告