一、前言

编码时我们总会发现如下变量未被使用的警告提示:

上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了。这时我们可以在方法前添加 @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://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

java suppresslint_Java 注解用法详解——@SuppressWarnings相关推荐

  1. Java 注解用法详解——@SuppressWarnings

    转自: https://www.cnblogs.com/fsjohnhuang/p/4040785.html Java魔法堂:注解用法详解--@SuppressWarnings 一.前言 编码时我们总 ...

  2. Java魔法堂:注解用法详解——@SuppressWarnings

    一.前言 编码时我们总会发现如下变量未被使用的警告提示: 上述代码编译通过且可以运行,但每行前面的"感叹号"就严重阻碍了我们判断该行是否设置的断点了.这时我们可以在方法前添加 @S ...

  3. Java魔法堂:注解用法详解——@SuppressWarnings(转)

    一.前言 编码时我们总会发现如下变量未被使用的警告提示: 上述代码编译通过且可以运行,但每行前面的"感叹号"就严重阻碍了我们判断该行是否设置的断点了.这时我们可以在方法前添加 @S ...

  4. JAVA元注解@interface详解(@Target,@Documented,@Retention,@Inherited)

    转载自 JAVA元注解@interface详解(@Target,@Documented,@Retention,@Inherited) jdk1.5起开始提供了4个元注解,用来定义自定义注解的注解,它们 ...

  5. springboot @Valid 注解用法详解

    @Valid 注解通常用于对象属性字段的规则检测,具体啥意思,下面让我娓娓道来: 下面我们以新增一个员工为功能切入点,以常规写法为背景,慢慢烘托出 @Valid 注解用法详解. 那么,首先,我们会有一 ...

  6. @Valid 和 @Validated 注解用法详解

    目录 案例引入 @Valid 详解 @Validated 详解 @Valid 和 @Validated 比较 案例引入 下面我们以新增一个员工为功能切入点,以常规写法为背景,慢慢烘托出 @Valid ...

  7. @SuppressWarnings注解用法详解

    @SuppressWarnings注解是jse提供的注解.作用是屏蔽一些无关紧要的警告.使开发者能看到一些他们真正关心的警告.从而提高开发者的效率 简介:java.lang.SuppressWarni ...

  8. 去除编译警告@SuppressWarnings注解用法详解(转)

    使用: @SuppressWarnings("") @SuppressWarnings({}) @SuppressWarnings(value={}) 编码时我们总会发现如下变量未 ...

  9. Java基础-注解机制详解

    文章目录 1. 注解基础 1.1 Java内置注解 1.1.1 内置注解 - @Override 1.1.2 内置注解 - @Deprecated 1.1.3 内置注解 - @SuppressWarn ...

最新文章

  1. Salesforce发布人工智能工具分析社交媒体内容
  2. 周记 2014.11.29
  3. 面试官让我讲讲Java中的锁,我笑了
  4. 【script】python 中文汉字与url的转换
  5. Discuz! Ucenter API for JAVA jar包和测试代码
  6. 如何进行手机web远程调试——chrome beta
  7. 计算机快捷键屏幕录制,如何录制电脑屏幕视频-电脑实用快捷键(9页)-原创力文档...
  8. Python 实现PPPOE自动拨号
  9. ExcelVBA之InputBox方法
  10. ipa segmentation
  11. linux内核网络队列,Linux 内核网络协议栈 ------ 清理重传队列中函数 tcp_clean_rtx_queue...
  12. 微信APP退款功能开发
  13. 赴美工作常识(Part 5 - 绿卡优先级)
  14. 基于51单片机及DS18B20温度传感器数码管显示程序
  15. OpenCV:二值化函数cv2.threshold
  16. 群体创新技术/群体决策的几种类型
  17. c/c++的改错练习二
  18. MySQL集群:主从模式
  19. mysql mybatis分表查询_mybatis 自动分表
  20. Maven 中跳过单元测试方法

热门文章

  1. Ubuntu18.04搭建Web服务器
  2. c语言能返回字符串吗,C语言中函数返回字符串的四种方法
  3. 奥鹏计算机基础2021,18春北语《计算机基础》作业3(参考答案)
  4. php位运算符与逻辑运算_位运算符及PHP中位运算的应用笔记
  5. linux的码是什么东西,在Linux内核中的UD2操作码的目的是什么?
  6. Storm之路-WordCount-实例
  7. SQLSERVER查询存储过程内容
  8. 在JS/jQuery中,怎么触发input的keypress/keydown/keyup事件?
  9. [转]spring入门(六)【springMVC中各数据源配置】
  10. [HDU3037]Saving Beans,插板法+lucas定理