当前位置: 首页 > news >正文

@SuppressWarnings使用-屏蔽一些无关紧要的警告

@SuppressWarnings 用法

与idea设置相关-参考

作用:用于抑制编译器产生警告信息,不显示波浪提示线。

我们在写代码的时候,不论是导入的包,还是声明的对象,有时候会出现黄线,感觉就很难受!

@SuppressWarnings注解主要用在取消一些编译器产生的警告对代码左侧行列的遮挡,有时候这会挡住我们断点调试时打的断点。 如图所示:

在这里插入图片描述

这时候我们在方法上加上@SuppressWarnings注解就可以消除这些警告的产生,注解的使用有三种:

1. @SuppressWarnings("unchecked")  [^ 抑制单类型的警告]
2. @SuppressWarnings("unchecked","rawtypes")  [^ 抑制多类型的警告]
3. @SuppressWarnings("all")  [^ 抑制所有类型的警告]

@SuppressWarnings其注解目标为类、字段、函数、函数入参、构造函数和函数的局部变量。建议把注解放在最近进警告发生的位置

下面列举警告关键字:

关键字用途
allto suppress all warnings (抑制所有警告)
finallyto suppress warnings relative to finally block that don’t return (抑制finally模块没有返回的警告)
nullto suppress warnings relative to null analysis( 忽略对null的操作)
rawtypesto suppress warnings relative to un-specific types when using generics on class params( 使用generics时忽略没有指定相应的类型)
uncheckedto suppress warnings relative to unchecked operations( 抑制没有进行类型检查操作的警告),如使用List,ArrayList等未进行参数化产生的警告信息
unusedto suppress warnings relative to unused code( 抑制没被使用过的代码的警告)
serialto suppress warnings relative to missing serialVersionUID field for a serializable class( 忽略在serializable类中没有声明serialVersionUID变量)
deprecation如果使用了使用@Deprecated注释的方法,编译器将出现警告信息。使用这个注释将警告信息去掉。

以下是使用和未使用对比
在这里插入图片描述
在这里插入图片描述

@SuppressWarnings(“unchecked”, “deprecation”)
告诉编译器同时忽略unchecked和deprecation的警告信息

@SuppressWarnings(value={“unchecked”, “deprecation”})
等同于@SuppressWarnings(“unchecked”, “deprecation”)

我经常遇到的问题是不晓得什么时候用@SupressWarnings的什么批注好,所以做了如下整理

使用:
@SuppressWarnings(“”)
@SuppressWarnings({})
@SuppressWarnings(value={})

一.@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 的源码可知,其注解目标为类、字段、函数、函数入参、构造函数和函数的局部变量。而大家建议注解应声明在最接近警告发生的位置。

这里,我使用了,在类上使用抑制所有无关紧要的警告,因此,我右侧列,不会出现红色警告信息
在这里插入图片描述

相关文章:

  • 算法leetcode|25. K 个一组翻转链表(rust重拳出击)
  • GEO芯片数据基本分析
  • Logoist - 适用于设计师以及初次使用者,快速制作精美 logo
  • 有趣的网站分享——福音戰士標題生成器
  • 现在的时代不是互联网时代的延续,因为其底层逻辑已经改变
  • 智能工厂的关键技术
  • SwiftUI获取子View的frame
  • C++-std:tuple元组的基本用法
  • 【SpringMVC】SpringMVC的入门
  • TensorFlow性能分析调研
  • 四、网络层(二)路由算法与路由选择协议
  • Shiro与SpringBoot整合
  • Netflix Eureka 2.0.0正式发布:借尸还魂还是虚晃一枪?
  • 3分钟搞清楚 JVM逃逸分析
  • 用维度概念来定义初级、中级、高级程序员
  • 脉冲神经网络(SNN)论文阅读(四)-----IJCAI-2022 多级发射方法的脉冲神经网络
  • 外行人如何通过学习软件测试转行IT
  • 线程池
  • 【表格合并与底纹】vue-elementul表格简单实现合并单元格,与列和行给底纹颜色
  • Go语言 Gin处理请求参数