Java 注解用法详解——@SuppressWarnings
转自: https://www.cnblogs.com/fsjohnhuang/p/4040785.html
Java魔法堂:注解用法详解——@SuppressWarnings
一、前言
编码时我们总会发现如下变量未被使用的警告提示:
上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了。这时我们可以在方法前添加 @SuppressWarnings("unused") 去除这些“感叹号”。
二、 @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 |
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 |
五、Java Lint选项
1. lint的含义
用于在编译程序的过程中,进行更细节的额外检查。
2. javac 的标准选项和非标准选项
标准选项:是指当前版本和未来版本中都支持的选项,如 -cp 和 -d 等。
非标准选项:是指当前版本支持,但未来不一定支持的选项。通过 javac -X 查看当前版本支持的非标准选项。
3. 查看警告信息
默认情况下执行 javac 仅仅显示警告的扼要信息,也不过阻止编译过程。若想查看警告的详细信息,则需要执行 javac -Xlint:keyword 来编译源码了。
六、总结
现在再都不怕不知道设置断点没有咯!
尊重原创,转载请注明来自:http://www.cnblogs.com/fsjohnhuang/p/4040785.html ^_^肥仔John
七、参考
http://blog.csdn.net/mddy2001/article/details/8291484
http://www.cnblogs.com/liubiqu/archive/2008/06/01/1211503.html
http://www.360doc.com/content/13/0913/17/1171_314224417.shtml
转载于:https://www.cnblogs.com/cheese320/p/9232564.html
Java 注解用法详解——@SuppressWarnings相关推荐
- Java魔法堂:注解用法详解——@SuppressWarnings
一.前言 编码时我们总会发现如下变量未被使用的警告提示: 上述代码编译通过且可以运行,但每行前面的"感叹号"就严重阻碍了我们判断该行是否设置的断点了.这时我们可以在方法前添加 @S ...
- java suppresslint_Java 注解用法详解——@SuppressWarnings
一.前言 编码时我们总会发现如下变量未被使用的警告提示: 上述代码编译通过且可以运行,但每行前面的"感叹号"就严重阻碍了我们判断该行是否设置的断点了.这时我们可以在方法前添加 @S ...
- Java魔法堂:注解用法详解——@SuppressWarnings(转)
一.前言 编码时我们总会发现如下变量未被使用的警告提示: 上述代码编译通过且可以运行,但每行前面的"感叹号"就严重阻碍了我们判断该行是否设置的断点了.这时我们可以在方法前添加 @S ...
- Java注解(Annotation)详解
转: Java注解(Annotation)详解 幻海流心 2018.05.23 15:20 字数 1775 阅读 380评论 0喜欢 1 Java注解(Annotation)详解 1.Annotati ...
- springboot @Valid 注解用法详解
@Valid 注解通常用于对象属性字段的规则检测,具体啥意思,下面让我娓娓道来: 下面我们以新增一个员工为功能切入点,以常规写法为背景,慢慢烘托出 @Valid 注解用法详解. 那么,首先,我们会有一 ...
- @Valid 和 @Validated 注解用法详解
目录 案例引入 @Valid 详解 @Validated 详解 @Valid 和 @Validated 比较 案例引入 下面我们以新增一个员工为功能切入点,以常规写法为背景,慢慢烘托出 @Valid ...
- java if 用法详解_Java if判断语句用法详解
Java if判断语句用法详解 if关键字中文意思是如果,其细致的语法归纳来说总共有三种:if语句.if-else语句和if-else if-else语句,下面重点介绍if语句. if语句 语法 if ...
- java wait用法详解
一.wait(), notify(), notifyAll()等方法介绍 1.wait()的作用是让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁."直到其他线程调用 ...
- Java IO用法详解
一.java io 概述 1.1 相关概念 Java IO Java IO即Java 输入输出系统.不管我们编写何种应用,都难免和各种输入输出相关的媒介打交道,其实和媒介进行IO的过程是十分复杂的,这 ...
最新文章
- ATS线上报告个别日志过大无法写入问题的解决方法
- DotNetNuke与MemberShip的结合(五年版)第三步修改HttpModule.DNNMembership
- grpc_模型服务:流处理与使用Java,gRPC,Apache Kafka,TensorFlow的RPC / REST
- 推荐:Visual Basic.NET Windows Forms 编程
- mvc中ajax的跳转,springmvc ajax 跳转的学习笔记
- Kotlin实战指南十七:JvmField、JvmStatic使用
- Rails测试《十一》添加邮件发送程序及测试邮件发送程序
- 《深入浅出WPF》学习笔记之深入浅出话属性
- 903计算机技术综合基础,北大903计算机技术综合基础考研真题、资料、参考书
- php ajax base64,php,javascript_AJax post BASE64编码到后台,php,javascript - phpStudy
- .net中使用TripleDESCryptoServiceProvider进行3DES加密遇到弱密钥的问题
- Backpropogation反向传播公式推导【李宏毅深度学习版】
- 解决“更新pip版本竟将pip卸载了,提示No module named ‘pip‘”
- 正态分布、t分布、卡方分布、F分布的关系与差异
- 2023年天津理工大学中环信息学院专升本机械设计考试大纲
- 如何查看京东pin?
- C++贪吃蛇的简单实现版
- Xsd文件验证xml的java实现
- 聊一位倾慕已久的他——致敬图灵
- matplotlib之pyplot模块——饼图(pie():圆环图(donut)、二层圆环图、三层圆环图(旭日图))
热门文章
- jdbc mysql 自动重连_Mysql中JDBC如何完成自动重连机制的案例
- 怎么用python读取csv文件、并且是读取行-python读取csv文件指定行的2种方法详解...
- python系统-基于Python搭建Django后台管理系统
- python发明者叫什么-看看9种编程语言的发明者是怎么说的
- python画图三维-Python三维绘图之Matplotlib库的使用方法
- python基础知识面试题-深入解答关于Python的11道基本面试题
- 毕业设计 基于python的网络爬虫-基于python的网络爬虫
- python百度百科api-python使用API
- python使用说明书-InfluxDB——python使用手册
- 零基础自学python的app-零基础学Python需要用哪些软件?