IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java:@SuppressWarnings注解的具体介绍与使用 -> 正文阅读

[Java知识库]Java:@SuppressWarnings注解的具体介绍与使用

我是 ABin-阿斌:写一生代码,创一世佳话,筑一览芳华。 如果小伙伴们觉得我的文章不错,记得一键三连,感谢~
在这里插入图片描述

  • 声明:
    • 原作者为:博客园:山清水秀ysu
    • 原文链接:https://www.cnblogs.com/weixiuli/p/6407248.html

前言

  • J2SE 提供的最后一个批注是 @SuppressWarnings,该批注的作用是给编译器一条指令。告诉它对被批注的代码元素内部的某些警告保持静默。
  • @SuppressWarnings 批注允许你选择性地取消特定代码段(即,类或方法)中的警告,其中的想法是当你看到警告时,你将调查它,如果你确定它不是问题,你就可以添加一个 @SuppressWarnings 批注,以使你不会再看到警告。
  • 虽然它听起来似乎会屏蔽潜在的错误,但实际上它将提高代码安全性,因为它将防止你对警告无动于衷 — 你看到的每一个警告都将值得注意。

一、如何使用

  • 我们往往最困惑的是不知道什么时候用 @SupressWarnings 注解,下面举例了一些例子可以看看:

  • @SuppressWarnings(" ")

  • @SuppressWarnings({})

  • @SuppressWarnings(value={})

编码时我们总会发现如下变量未被使用的警告提示:
在这里插入图片描述
上述代码编译通过且可以运行,但每行前面的【感叹号】就严重阻碍了我们判断该行是否设置的断点了。这时我们可以在方法前添加 @SuppressWarnings(“unused”) 去除这些【感叹号】

二、注解参数介绍

案例一:抑制单类型的警告

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

案例二:抑制多类型的警告

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

案例三:抑制所有类型的警告

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

三、注解目标范围

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

四、注解关键字的作用范围

  • all: 抑制所有警告
  • boxing: 抑制装箱、拆箱操作时候的警告
  • cast: 抑制映射相关的警告
  • dep-ann: 抑制启用注释的警告
  • deprecation: 抑制过期方法警告
  • fallthrough: 抑制确在switch中缺失breaks的警告
  • finally: 抑制finally模块没有返回的警告
  • hiding: 抑制与隐藏变量的本地人相关的警告
  • incomplete-switch: 忽略没有完整的switch语句
  • nls: 忽略非nls格式的字符
  • null: 忽略对null的操作
  • rawtypes: 使用generics时忽略没有指定相应的类型
  • restriction: 抑制与使用不鼓励或禁止引用相关的警告
  • serial: 忽略在serializable类中没有声明serialVersionUID变量
  • static-access: 抑制不正确的静态访问方式警告
  • synthetic-access: 抑制子类没有按最优方法访问内部类的警告
  • unchecked: 抑制没有进行类型检查操作的警告
  • unqualified-field-access: 抑制没有权限访问的域的警告
  • unused: 抑制没被使用过的代码的警告
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 15:57:54  更:2022-03-03 15:59:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:31:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码