关于Java中@SuppressWarnings的正确使用方法
作者:Archie_java 发布时间:2023-07-22 17:17:58
标签:Java,@SuppressWarnings,使用
@SuppressWarnings比较常见,理解和使用起来都很简单。
通过源码可以看出,支持在类、属性、方法、参数、构造方法、本地变量上使用。
@SuppressWarnings注解的使用有三种:
@SuppressWarnings(“unchecked”) [抑制单类型的警告]
@SuppressWarnings(“unchecked”,“rawtypes”) [抑制多类型的警告]
@SuppressWarnings(“all”) [ 抑制所有类型的警告]
下面一个简单的例子:
public class Machine {
private List versions;
public void addVersion(String version) {
versions.add(version);
}
}
编译器会发出使用原始数据类型的警告
如果不想修复这个问题,可以通过@SuppressWarnings注解来抑制编译器的警告。
该注解允许指定忽略该方法的哪些特定警告。 不同的编译器或IDE的警告类型可能会不同,最常见的两种类型是deprecation和unchecked。
deprecation 告诉编译器忽略过时的方法或类型检查。
unchecked 告诉编译器忽略原始类型检查
public class Machine {
private List versions;
@SuppressWarnings("unchecked")
// or
@SuppressWarnings({"unchecked"})
public void addVersion(String version) {
versions.add(version);
}
}
如果想抑制多种类型的警告,可以采用字符串数组方式
@SuppressWarnings({<!--{C}%3C!%2D%2D%20%2D%2D%3E-->"unchecked", "deprecated"})
Eclipse Galileo版本支持的抑制警告的名称:
关键字 | 用途 |
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( 抑制没被使用过的代码的警告) |
来源:https://lebron.blog.csdn.net/article/details/122386115


猜你喜欢
- //哈弗曼编码的实现类public class HffmanCoding { private int c
- IntelliJ IDEA2022 springboot 热部署 html#pom.xml<dependency>
- **写作原因:跨进程通信的实现和理解是Android进阶中重要的一环。下面博主分享IPC一些相关知识、操作及自己在学习IPC过程中的一些理解
- 这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初的teta版,发布于此,
- WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对
- 为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数
- Sequence序列Sequence 是Kotlin标准库提供的一种容器类型。它和Iterable一样具备对集合进行多步骤操作能力,但是却是
- 相信大家最关心的肯定不是什么一大堆的破理论,然后还似懂非懂的,最关心得莫过于服务之间的参数传递,数据获取。Ok,今天就告诉大家三种微服务之间
- 无论使用何种IDE开发Android,集成官方Android SDK并创建Android工程之后,该工程都会默认包括一整套Android项目
- TabBar在实际开发中导航栏是必不可少的控件,QtQuick Controls控件中可以使用TabBar来做导航栏,原始的导航栏是横向的,
- 右击有main方法的类===> Run as===> Run Configurations ===>双击java
- 本文实例为大家分享了Android文本视图TextView实现聊天室的具体代码,供大家参考,具体内容如下Math.random()生成随机数
- 现在我们常见的一些关于Linux的系统很多,但是使用的更多的一般都是CentOS和Ubuntu,今天我就来记录一下关于centos下java
- 为什么是MVI而不是MVVMMVVM作为流行的架构模式,应用在 Compose上,并没有大的问题或者设计缺陷。但是在使用期间,发现了并不适合
- 题目一 解法class Solution { public int findLengthOfLCIS(i
- 本文实例讲述了C#使用HtmlAgilityPack抓取糗事百科内容的方法。分享给大家供大家参考。具体实现方法如下:Console.Writ
- C#在程序中定义和使用自定义事件可以分为以下几个步骤:步骤1:在类中定义事件using System;public class TestCl
- 使用AspectJ实现AOP注解方式XML方式AspectJ简介AspectJ是一个基于Java语言的AOP框架Spring2.0以后新增了
- 此项目使用了OpenCVSharp加载本地摄像头,多个摄像头支持切换展示,也可以展示rtsp地址。使用NuGet如下:代码如下一、创建Mai
- 本篇文章尝试从What、Why、How这三个角度来探索Java中的弱引用,帮助大家理解Java中弱引用的定义、基本使用场景和使用方法。由于个