【Java】SuppressWarnings 注解

举报
兮动人 发表于 2022/04/21 14:53:17 2022/04/21
【摘要】 1. @SuppressWarnings 注解 2. @SuppressWarning 中的属性介绍以及属性说明 1. @SuppressWarnings 注解@SuppressWarnings: 抑制编译器警告如下,可以看到idea中有警告的颜色标注当我们不希望看到这些警告的时候,可以使用 SuppressWarnings注解来抑制警告信息在{" "} 中,可以写入你希望抑制(不显示)警...

1. @SuppressWarnings 注解

  • @SuppressWarnings: 抑制编译器警告

  • 如下,可以看到idea中有警告的颜色标注
    在这里插入图片描述

  • 当我们不希望看到这些警告的时候,可以使用 SuppressWarnings注解来抑制警告信息

  • {" "} 中,可以写入你希望抑制(不显示)警告信息

  • 在idea中可以看到这些警告的信息,然后根据下面的属性介绍依次填入对应的抑制警告的参数,如:
    在这里插入图片描述
    rawtypes,抑制与使用raw类型相关的警告
    在这里插入图片描述
    unchecked,抑制与未检查的作业相关的警告
    在这里插入图片描述
    unused,抑制与未用的程式码及停用的程式码相关的警告

  • 可以从下面的警告参数中找到对应的警告参数即可。可以看到警告全部被抑制了
    在这里插入图片描述

  • 当然,也可以直接选择参数 all,警告就全部会被抑制
    在这里插入图片描述

  • 关于SuppressWarnings 作用范围是和放置的位置相关

  • 比如 @SuppressWarnings放置在 main方法,那么抑制警告的范围就是 main,通常我们可以放置具体的语句、方法、 类。

  • @SuppressWarnings注解的常见的值

  1. unchecked是忽略没有检查的警告
  2. rawtypes是忽略没有指定泛型的警告(传参时没有指定泛型的警告错误)
  3. unused是忽略没有使用某个变量的警告错误
  • @SuppressWarnings可以修饰的程序元素,查看 @Target

查看源码:
(1) 放置的位置就是 TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE
(2) 该注解类有数组 String[] values() ,设置一个数组比如 {"rawtypes", "unchecked", "unused"}
在这里插入图片描述

  1. 生成@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,抑制与未用的程式码及停用的程式码相关的警告
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。