简介: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")

如果使用了使用@Deprecated注释的方法,编译器将出现警告信息。

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

·   @SuppressWarnings("unchecked", "deprecation")

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

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

等同于@SuppressWarnings("unchecked", "deprecation")

1. 抑制单类型警告

@SuppressWarnings("unchecked")public voidaddItems(String item){

@SuppressWarnings("rawtypes")

List items= newArrayList();

items.add(item);

}

2. 抑制多类型警告

@SuppressWarnings(value={"unchecked", "rawtypes"})public voidaddItems(String item){

List items= newArrayList();

items.add(item);

}

3. 抑制全部警告

@SuppressWarnings("all")public voidaddItems(String item){

List items= newArrayList();

items.add(item);

}

注解目标

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

抑制警告的关键字

allto 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(抑制确在switch中缺失breaks的警告)

finally  to suppress warnings relative to finally block that don’t return (抑制finally模块没有返回的警告)

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)(忽略没有完整的switch语句)

nls to suppress warnings relative to non-nls string literals(忽略非nls格式的字符)

null to suppress warnings relative to null analysis(忽略对null的操作)

rawtypes to suppress warnings relative to un-specific types when using generics on class params(使用generics时忽略没有指定相应的类型)

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(忽略在serializable类中没有声明serialVersionUID变量)

static-access  to 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  (抑制没被使用过的代码的警告)

java 清除警告的注解_忽略警告注解@SuppressWarnings详解相关推荐

  1. java集合框架的结构_集合框架(Collections Framework)详解及代码示例

    简介 集合和数组的区别: 数组存储基础数据类型,且每一个数组都只能存储一种数据类型的数据,空间不可变. 集合存储对象,一个集合中可以存储多种类型的对象.空间可变. 严格地说,集合是存储对象的引用,每个 ...

  2. java集群解析文件_干货:一文详解Redis集群原理核心内容

    集群原理 一个系统建立集群主要需要解决两个问题:数据同步问题和集群容错问题. Naive方案 一个简单粗暴的方案是部署多台一模一样的Redis服务,再用负载均衡来分摊压力以及监控服务状态.这种方案的优 ...

  3. java编程实现arp欺骗_局域网 ARP 欺骗原理详解

    局域网 ARP 欺骗原理详解 ARP 欺骗是一种以 ARP 地址解析协议为基础的一种网络攻击方式, 那么什么是 ARP 地址解析协议: 首先我们要知道, 一台电脑主机要把以太网数据帧发送到同一局域网的 ...

  4. 忽略警告注解@SuppressWarnings详解

    忽略警告注解@SuppressWarnings详解 简介:java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一.可以标注在类.字段.方法.参数.构造方 ...

  5. 三十七、缓存注解@Cacheable、@CacheEvict、@CachePut详解

    #        缓存注解@Cacheable.@CacheEvict.@CachePut详解 ##一.@Cacheable用法详解 ###1.用在哪里?     用在方法或者类上. ###2.这两种 ...

  6. Java构造和解析Json数据的两种方法详解一

    在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...

  7. 数学建模_随机森林分类模型详解Python代码

    数学建模_随机森林分类模型详解Python代码 随机森林需要调整的参数有: (1) 决策树的个数 (2) 特征属性的个数 (3) 递归次数(即决策树的深度)''' from numpy import ...

  8. Java中创建String的两道面试题及详解

    转载自 Java中创建String的两道面试题及详解 我们知道创建一个String类型的变量一般有以下两种方法: String str1 = "abcd";String str2 ...

  9. java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用

    java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用

最新文章

  1. [转]获取机器的硬件信息(CPU ID序列号, 主板信息,硬盘序列号,系统信息)
  2. 【原创】数据库中时间字段的值读取到DataSet中后,毫秒部分丢失。
  3. RedHat7.0更新yum源(踩过的坑)
  4. 2021年下半年软考报考流程!
  5. 一个弱智问题, Ubuntu 中gedit 菜单栏在哪里?
  6. 单一工作流的执行➕回滚框架初步想法(基于事件驱动模式)
  7. 还在直接操作Redis?赶快来试试它....
  8. python调用excel的宏_Python – 运行Excel宏
  9. C#ListT方法总结
  10. 中国Linux源镜像站大全
  11. JavaScript强化教程——AngularJS 表达式
  12. 一、SIM800C简介
  13. PLSQL使用for update编辑数据库的坑
  14. 定义控制台应用程序的入口点 ConsoleApplication
  15. Laravel文档阅读笔记-mews/captcha的使用(验证码功能)
  16. html的strong标签是什么意思,Strong标签和B标签怎么用?区别有哪些
  17. picgo设置gitee图床
  18. 一文学会 Spring MVC 表单标签
  19. Android 贪食蛇
  20. New 900 Sentences

热门文章

  1. 我的精神分裂——普通青年用二-B的方式走文艺的范儿
  2. 她来了!她来了!她带着更新走来了!【8月16日】
  3. 如何让AR拥有镜子的反光效果(ios)
  4. 派斯宝多尼斯荣登纳斯达克大屏 闪耀国际舞台
  5. 在uniapp使用微信插件获取不到回调数据问题解决
  6. Linux 获取毫秒级时间戳
  7. 2007新年のあいさつ――あなたの心の声を聞いて私は作者da
  8. 智慧物流:RFID智能仓储物流管理-RFID仓库管理解决方案-新导智能
  9. 局域网计算机修改网络用户,windows10怎么修改局域网网络名称
  10. 超实用移动固态硬盘,Lexar雷克沙SL100 Pro