@SuppressWarnings忽略警告

@SuppressWarnings忽略警告简介 java lang SuppressWarn 是 J2SE5 0 中标准的 Annotation 之一 可以标注在类 字段 方法 参数 构造方法 以及局部变量上 作用 告诉编译器忽略指定的警告 不用在编译完成后出现警告信息 使用 SuppressWarn SuppressWarn SuppressWarn value 根据 sun 的官

简介:java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一。可以标注在类、字段、方法、参数、构造方法,以及局部变量上。

作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。
使用:
@SuppressWarnings(“”)
@SuppressWarnings({})
@SuppressWarnings(value={})

根据sun的官方文档描述:
value – 将由编译器在注释的元素中取消显示的警告集。允许使用重复的名称。忽略第二个和后面出现的名称。出现未被识别的警告名不是 错误:编译器必须忽略无法识别的所有警告名。但如果某个注释包含未被识别的警告名,那么编译器可以随意发出一个警告。














各编译器供应商应该将它们所支持的警告名连同注释类型一起记录。鼓励各供应商之间相互合作,确保在多个编译器中使用相同的名称。

示例:

·   @SuppressWarnings(“unchecked”)

  告诉编译器忽略 unchecked 警告信息,如使用List,ArrayList等未进行参数化产生的警告信息。

·   @SuppressWarnings(“serial”)

  如果编译器出现这样的警告信息:The serializable class WmailCalendar does not declare a static final serialVersionUID field of type long

 使用这个注释将警告信息去掉。

·   @SuppressWarnings(“deprecation”)

·   @SuppressWarnings(“unchecked”, “deprecation”)

  告诉编译器同时忽略unchecked和deprecation的警告信息。

·   @SuppressWarnings(value={“unchecked”, “deprecation”})

  等同于@SuppressWarnings(“unchecked”, “deprecation”)

1、抑制单类型警告

1 @SuppressWarnings("unchecked") 2 public void addItems(String item){ 3 @SuppressWarnings("rawtypes") 4 List items = new ArrayList(); 5 items.add(item); 6 }

 

2、抑制多类型警告

@SuppressWarnings(value={"unchecked", "rawtypes"}) public void addItems(String item){ List items = new ArrayList(); items.add(item); }

3、抑制全部警告

1 @SuppressWarnings("all") 2 public void addItems(String item){ 3 List items = new ArrayList(); 4 items.add(item); 5 }

注解目标                                

 通过 @SuppressWarnings 的源码可知,其注解目标为类、字段、函数、函数入参、构造函数和函数的局部变量。而家建议注解应声明在最接近警告发生的位置。

抑制警告的关键字                                

 

关键字 用途
all to suppress all warnings
boxing  to suppress warnings relative to boxing/unboxing operations
cast to suppress warnings relative to cast operations
dep-ann to suppress warnings relative to deprecated annotation
deprecation to suppress warnings relative to deprecation
fallthrough  to suppress warnings relative to missing breaks in switch statements
finally  to suppress warnings relative to finally block that don’t return
hiding to suppress warnings relative to locals that hide variable
incomplete-switch  to suppress warnings relative to missing entries in a switch statement (enum case)
nls  to suppress warnings relative to non-nls string literals
null to suppress warnings relative to null analysis
rawtypes to suppress warnings relative to un-specific types when using generics on class params
restriction to suppress warnings relative to usage of discouraged or forbidden references
serial to suppress warnings relative to missing serialVersionUID field for a serializable class
static-access o suppress warnings relative to incorrect static access
synthetic-access   to suppress warnings relative to unoptimized access from inner classes
unchecked  to suppress warnings relative to unchecked operations
unqualified-field-access to suppress warnings relative to field access unqualified
unused to suppress warnings relative to unused code
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212664.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午7:33
下一篇 2026年3月18日 下午7:33


相关推荐

  • 超标量处理器设计 姚永斌 前言 摘录

    超标量处理器设计 姚永斌 前言 摘录目前的通用处理器从指令集方面可分为 RISC 和 CISC CISC 伴随着处理器的诞生 最开始的处理器都是使用这种指令集 力求在一条指令内完成很多事情 并且使用尽可能多的指令 覆盖到各种各样的操作 这就可以降低对存储器的需求 并且简化编译器的设计 当存储器和编译器不在是问题时 RISC 产生了 因为 80 的 CISC 指令只在 20 被使用 则可以将经常使用的 20 的 CISC 指令使用硬件来实现 剩余 80 的指令可以使用软件来模拟 于是简化硬件的设计 也便于使用流水线 不像可以变化长度的 CISC 指令 RISC 指令采

    2025年7月4日
    4
  • echarts 旭日图sunburst[通俗易懂]

    echarts 旭日图sunburst[通俗易懂]1、配置数据 第一层为最内层的环,第二层为第一层对应的children所构成的环 [ { value:n, 数值,根据同层所有数值的占比,构成百分比圆环,不写为内部第一层children的数值和 若设置的值大于内部第一层的数值,即表示有未显示的内容,具体表示图会压缩同层其他环占比 name:’显示内容’, children:[ { value:n, name:’显示内容’ } ] }, { va

    2026年4月13日
    4
  • 二进制加减运算

    二进制加减运算二进制加法原则是:2个1相加等于2就要向前给1,下面得算为0,相当于十进制1+9=10向前给1,下面得算为0,因为二进制只有0和1,所以1加1等于2多了一个1就要往前送。二进制减法原则是:0减1不够,就向前借2减11、加法实例11001100+0000110011001100+00001100——————11011000首先右边两个0相加为0,右3位1+1=2就要给前面1个1,下面得数为0,右4位因为前面给了一个1,所以现在就是1+1+1=3,把2向前给1,然后3..

    2022年6月22日
    37
  • Nessus安裝教程[通俗易懂]

    Nessus安裝教程[通俗易懂]1、進入官網2、直接拖進kail3、拷貝此文件至root用戶下(因為安裝Nessus時需要root權限)4、使用命令dpkg-iNessus-10.1.1-debian6_amd64.deb5、啟動Nessus:/bin/systemctlstartnessusd.service6、安裝后進入官網7、註冊后郵箱得到激活密碼8、本地主機輸入連接https://kali(主機名稱):8834/9、進入頁面激活即可…

    2022年10月18日
    5
  • ideal 2022 激活码【2022免费激活】2022.03.01「建议收藏」

    (ideal 2022 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月2日
    315
  • route add命令实例_cmd route

    route add命令实例_cmd route命令作用routeadd添加路由delete删除路由change更改现有路由print打印路由删除静态路由地址routedelete130.0.0.0mask255.0.0.0添加静态路由地址routeadd130.0.0.0MASK255.0.0.0134.32.80.1METRIC10意思是:所有需要发往130.0.0.0地址段的IP数据包,全部由路径134.32.80.1转发其中,路由跳数是可以省略的参数当通往…

    2022年8月12日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号