Java中@SuppressWarnings注解用法(转)
背景:
J2SE提供的最后一个注解是@SuppressWarnings。该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。
@SuppressWarnings注解允许您选择性地取消特定代码段(即,类或方法)中的警告。其中的想法是当您看到警告时,您将调查它,如果您确定它不是问题,您就可以添加一个@SuppressWarnings注解,以使您不会再看到警告。虽然它听起来似乎会屏蔽潜在的错误,但实际上它将提高代码安全性,因为它将防止您对警告无动于衷 — 您看到的每一个警告都将值得注意。
一、@SuppressWarings注解
作用:用于抑制编译器产生警告信息。
示例1、抑制单类型的警告:
@SuppressWarnings("unchecked")
public void addItems(String item){
  @SuppressWarnings("rawtypes")
   List items = new ArrayList();
   items.add(item);
}  
示例2、抑制多类型的警告:
@SuppressWarnings(value={"unchecked", "rawtypes"}) 
public void addItems(String item){
   List items = new ArrayList();
   items.add(item);
}  
示例3、抑制所有类型的警告:
@SuppressWarnings("all") 
public void addItems(String item){
   List items = new ArrayList();
   items.add(item);
}  
二、注解目标
通过@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(抑制确在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 (抑制没被使用过的代码的警告)
 
参考:
http://blog.csdn.net/sysware_carol/article/details/52100580(以上内容转自此篇文章)
Java中@SuppressWarnings注解用法(转)的更多相关文章
- JAVA中@SuppressWarnings注解的作用
		
eclipse中开发JAVA代码时,经常会出现编译告警符号,影响代码可读性,也影响调试的断点符号正常显示,可以使用@SuppressWarnings注解来抑制这些告警符号的再现.1.抑制单个类型的告警 ...
 - java注解 @SuppressWarnings注解用法
		
@SuppressWarnings注解用法 @SuppressWarnings注解主要用在取消一些编译器产生的警告对代码工具左侧行列提示,但这种警告可以通过注释类型声明来取消 @SuppressWar ...
 - sping中 各种注解——@SuppressWarnings注解用法
		
@SuppressWarnings注解用法 @SuppressWarnings注解主要用在取消一些编译器产生的警告对代码左侧行列的遮挡,有时候这会挡住我们断点调试时打的断点. 如图所示: 这时候我们在 ...
 - java中的注解(Annotation)
		
转载:https://segmentfault.com/a/1190000007623013 简介 注解,java中提供了一种原程序中的元素关联任何信息.任何元素的途径的途径和方法. 注解是那些插入到 ...
 - @SuppressWarnings注解用法详解
		
@SuppressWarnings注解用法详解 今天来谈谈@SuppressWarnings注解的作用. J2SE 提供的最后一个批注是 @SuppressWarnings.该批注的作用是给编译器一条 ...
 - java中的注解详解和自定义注解
		
一.java中的注解详解 1.什么是注解 用一个词就可以描述注解,那就是元数据,即一种描述数据的数据.所以,可以说注解就是源代码的元数据.比如,下面这段代码: @Override public Str ...
 - java中this的用法?
		
2008-07-28 08:10cztx5479 | 分类:JAVA相关 | 浏览4533次 java中this的用法? import java.awt.*; import java.awt.even ...
 - 转:十八、java中this的用法
		
http://blog.csdn.net/liujun13579/article/details/7732443 我知道很多朋友都和我一样:在JAVA程序中似乎经常见到“this”,自己也偶尔用到它, ...
 - Java 中 synchronized的用法详解(四种用法)
		
Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码.本文给大家介绍java中 synchronized的用法,对本文感兴趣的朋友一起看看吧 ...
 
随机推荐
- 在Eclipse中通过JDBC连接MySQL步骤,非常详细!
			
通过JDBC连接MySQL基本步骤代码讲解步骤可能遇到的Bug基本步骤JDBC访问MySQL 1.加载JDBC驱动器—>哪个project需要,就添加到该project的jdbc文件夹下,我的j ...
 - [Redis] 基于redis的分布式锁
			
前言分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁. 可靠性首先,为了确保 ...
 - MATLAB GUI制作快速入门
			
创建空白的GUI在MATLAB命令行中输入guide新建GUI,选择Blank GUI (Default),点击确定后就生成了一个空白的GUI制作界面,如下图所示 图1制作GUI的具体过程简单加法器将 ...
 - 1.3 jieba中文处理+安装
			
第一次接触这个工具,是在研一上学期的一门课里.由于要做课程设计论文,我当时选择做中文分词处理,自然而然就接触到这个工具了. 但是呢,由于研究生研究方向与NLP无关,也就没有深入的研究过. 现在由于工作 ...
 - TensorFlow低阶API(二)—— 张量
			
简介 正如名字所示,TensorFlow这一框架定义和运行涉及张量的计算.张量是对矢量和矩阵向潜在的更高维度的泛化.TensorFlow在内部将张量表示为基本数据类型的n维数组. 在编写TensorF ...
 - javaweb系列-关于HttpSessionListener的sessionDestroyed什么时候触发
			
根据书本写了下面这个监听器,然后开始调试,打开一个浏览器来访问该网页,可以正常触发sessionCreated,然后关闭浏览器,发现没有触发sessionDestroyed,然后我怀疑是不是这个监听器 ...
 - 最短路 || Codeforces 938D Buy a Ticket
			
题意:从城市u到v(双向)要花w钱,每个城市看演唱会要花不同的门票钱,求每个城市的人要看一场演唱会花费最少多少(可以在这个城市看,也可以坐车到别的城市看,然后再坐车回来) 思路:本来以为是多源..实际 ...
 - spring boot  jar的生成
			
1)准备demo 2)打开idea项目结构 3)添加 4)按顺序 6)bulid 7)完成 查看out文件
 - JS实现两版本号大小比较
			
JavaScript实现版本号比对(含字母) 昨天,有一道面试题,要求是这样的: 用你熟悉的编程语言,实现一个比较任意两个软件版本号大小的函数,如1.2.3a与1.2.4b进行比较,后者版本号更大,要 ...
 - 【简●解】[HAOI2007] 理想的正方形
			
[简●解][HAOI2007] 理想的正方形 可恶的\(DP\). [题目大意] 有一个\(a*b\)的整数组成的矩阵,现请你从中找出一个\(n*n\)的正方形区域,使得该区域所有数中的最大值和最小值 ...