【Java基础】 - 常用注解@SuppressWarings

Java基础 - 常用注解@SuppressWarings

文章目录

  • Java基础 - 常用注解@SuppressWarings
    • 一、概述
    • 二、 @SuppressWarings注解使用
      • 2.1. 抑制单类型的警告
      • 2.2. 抑制多类型的警告
      • 2.3. 抑制所有类型的警告
    • 四、注解目标
    • 五、抑制警告的关键字

一、概述

java.lang.SuppressWarnings是J2SE5.0中标准的Annotation之一。可以标注在类,字段、方法、构造方法以及局部变量上。

@SuppressWarings作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。

@SuppressWarings使用:

  1. @SuppressWarnings(“”)
  2. @SuppressWarnings({})
  3. @SuppressWarnings(value={})

value -将由编译器在注释的元素中取消显示的警告集。允许使用重复的名称。忽略第二个和后面出现的名称。出现未被识别的警告名 不是错误:编译器必须忽略无法识别的所有警告名。但如果某个注释包含未被识别的警告名,那么编译器可以随意发出一个警告。

各编译器供应商应该将它们所支持的警告名连同注释类型一起记录。鼓励各供应商之间相互合作,确保在多个编译器中使用相同的名称。

常用注解演示

  • @SuppressWarnings(“unchecked”)

    告诉编译器忽略unchecked警告信息,如使用List、ArrayList等未进行参数化产生的警告信息。

  • @SuppressWarnings(“serial”)

    告诉编译器忽略:The serializable class WmailCalendar does notdeclare a static final serialVersionUID field of type long信息。

  • @SuppressWarnings(“deprecation”)

    告诉编译器忽略使用注解@Deprecated警告信息

  • @SuppressWarnings(“unchecked”, “deprecation”)

    告诉编译器同时忽略unchecked和deprecation的警告信息。

二、 @SuppressWarings注解使用

2.1. 抑制单类型的警告

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

2.2. 抑制多类型的警告

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

2.3. 抑制所有类型的警告

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

四、注解目标

通过 @SuppressWarnings 的源码可知,其注解目标为类、字段、函数、函数入参、构造函数和函数的局部变量。

建议注解应声明在最接近警告发生的位置。

五、抑制警告的关键字

序列关键字说明
1allto suppress all warnings (抑制所有警告)
2boxingto suppress warnings relative to boxing/unboxing operations(抑制装箱、拆箱操作时候的警告)
3castto suppress warnings relative to cast operations (抑制映射相关的警告)
4dep-annto suppress warnings relative to deprecated annotation(抑制启用注释的警告)
5deprecationto suppress warnings relative to deprecation(抑制过期方法警告)
6fallthroughto suppress warnings relative to missing breaks in switch statements(抑制确在switch中缺失breaks的警告)
7finallyto suppress warnings relative to finally block that don’t return (抑制finally模块没有返回的警告)
8hidingto suppress warnings relative to locals that hide variable
9incomplete-switchto suppress warnings relative to missing entries in a switch statement (enum case)(忽略没有完整的switch语句)
10nlsto suppress warnings relative to non-nls string literals(忽略非nls格式的字符)
11nullto suppress warnings relative to null analysis(忽略对null的操作)
12rawtypesto suppress warnings relative to un-specific types when using generics on class params(使用generics时忽略没有指定相应的类型)
13restrictionto suppress warnings relative to usage of discouraged or forbidden references
14serialto suppress warnings relative to missing serialVersionUID field for a serializable class(忽略在serializable类中没有声明serialVersionUID变量
15static-accessto suppress warnings relative to incorrect static access(抑制不正确的静态访问方式警告)
16synthetic-accessto suppress warnings relative to unoptimized access from inner classes(抑制子类没有按最优方法访问内部类的警告)
17uncheckedto suppress warnings relative to unchecked operations(抑制没有进行类型检查操作的警告)
18unqualified-field-accessto suppress warnings relative to field access unqualified (抑制没有权限访问的域的警告)
19unusedto suppress warnings relative to unused code (抑制没被使用过的代码的警告)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/51709.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是代码审计?怎么做?

代码审计是对源代码进行人工或自动化审查,以查找潜在的安全漏洞和隐患。在信息安全测试中,代码审计是非常重要的一环。它主要包括以下几个方面: 1.变量验证:检查代码是否对变量进行验证,防止变量被恶意用户篡改。 2.…

板卡设计+硬件每日学习十个知识点(44)23.8.24 (检测单元设计,接口部分设计,板卡电源输入设计,电源检测电路)

文章目录 1.检测单元介绍(使用GD32单片机)2.GD32的最小系统板3.GD32的温度监测4.GD32的电压监测和电流监测5.GD32的布线6.接口部分设计7.板卡电源输入设计8.电源检测电路 1.检测单元介绍(使用GD32单片机) 答: 首先要为…

Forrester首次面向中国的开源报告:阿里云在云原生领域开源布局最全面

Forrester 于近期发布了《Navigate The Cloud-Native Ecosystem In China, 2023》,报告概述了中国云原生领域的开源项目对构建云原生生态的促进作用,这些开源项目正深刻影响着企业的技术决策者以何种策略拥抱云原生这一现代 IT 基础设施的核心。 报告表…

很干的 Nginx

🎨 前言 本篇文章有些概念性的东西,是结合自己的理解表达出来的,可能有些理解不到位的地方。希望多多指教,谢谢大家。 红包献上 🧧🧧🧧🧧🧧🧧🧧…

Android Camere开发入门(2):Camera2的使用

Android Camere开发入门(2):Camera2的使用 Camera2 API简介 在上一篇文章《Android Camere开发入门(1):Camera1的使用》中,我们了解了如何在Android应用中使用Camera API来访问设备的摄像头。然而,随着Android设备的发展和硬件的提升,我们需要使用更强大、更灵活的API…

5.7 汇编语言:汇编高效乘法运算

乘法指令是一种在CPU中实现的基本算术操作,用于计算两个数的乘积。在汇编语言中,乘法指令通常是通过mul(无符号乘法)和imul(有符号乘法)这两个指令实现的。由于乘法指令在执行时所消耗的时钟周期较多&#…

深度学习处理文本(NLP)

文章目录 引言1. 反向传播1.1 实例流程实现1.2 前向传播1.3 计算损失1.4 反向传播误差1.5 更新权重1.6 迭代1.7 BackPropagation & Adam 代码实例 2. 优化器 -- Adam2.1 Adam解析2.2 代码实例 3. NLP任务4. 神经网络处理文本4.1 step1 字符数值化4.2 step 2 矩阵转化为向量…

成集云 | 抖店连接器客户静默下单催付数据同步钉钉 | 解决方案

源系统成集云目标系统 方案介绍 随着各品牌全渠道铺货,主播在平台上直播时客户下了订单后不能及时付款,第一时间客户收不到提醒,不仅造成了客户付款率下降,更大量消耗了企业的人力成本和经济。而成集云与钉钉深度合作&#xff0…

STM32--USART串口

文章目录 通信接口串口通信硬件电路电平标准参数时序 USART主要特性框图 数据帧发送器 波特率发生器SWART串口发送与接收工程串口收发数据包 通信接口 通信接口是指连接中央处理器(CPU)和标准通信子系统之间的接口,用于实现数据和控制信息在不…

创建型(二) - 单例模式

一、概念 单例设计模式(Singleton Design Pattern):一个类只允许创建一个对象(或者实例),那这个类就是一个单例类。 优点:在内存里只有一个实例,减少了内存的开销,避免…

element ui - el-select获取点击项的整个对象item

1.背景 在使用 el-select 的时候,经常会通过 change 事件来获取当前绑定的 value ,即对象中默认的某个 value 值。但在某些特殊情况下,如果想要获取的是点击项的整个对象 item,该怎么做呢? 2.实例 elementUI 中是可…

嵌入式Linux开发实操(十二):PWM接口开发

# 前言 使用pwm实现LED点灯,可以说是嵌入式系统的一个基本案例。那么嵌入式linux系统下又如何实现pwm点led灯呢? # PWM在嵌入式linux下的操作指令 实际使用效果如下,可以通过shell指令将开发板对应的LED灯点亮。 点亮3个LED,则分别使用pwm1、pwm2和pwm3。 # PWM引脚的硬…

【面试经典150题】合并两个有序数组-JavaScript版

题目来源 初始思路&#xff1a;同时循环遍历两个数组&#xff0c;选出较小元素放入新数组。剩下一个没有被遍历完的数组的剩余元素直接拼接到新数组后。 错误示例&#xff1a; var merge function (nums1, m, nums2, n) {let i 0,j 0,nums3 [];while (i < m &&am…

谈一谈浏览器与Node.js中的JavaScript事件循环,宏任务与微任务机制

JavaScript中的异步代码 JavaScript是一个单线程非阻塞的脚本语言。这代表代码是执行在一个主线程上面的。但是JavaScript中有很多耗时的异步操作&#xff0c;例如AJAX&#xff0c;setTimeout等等&#xff1b;也有很多事件&#xff0c;例如用户触发的点击事件&#xff0c;鼠标…

[rk3568 RetroArch介绍游戏模拟器]

buildroot 添加 https://github.com/aduskett/retroarch-buildroot RetroArch 是款功能强大的跨平台模拟器&#xff0c;不但能够模拟许多不同的游戏主机&#xff0c;并且提供开源代码&#xff0c;可以 移植在Linux, Window, Android 等主流操作平台上。 RetroArch 的 API 的实现…

浅谈视频汇聚平台EasyCVR视频平台在城市安全综合监测预警台风天气中的重要作用

夏日已至&#xff0c;台风和暴雨等极端天气频繁出现。在城市运行过程中&#xff0c;台风所带来的暴雨可能会导致城市内涝等次生灾害&#xff0c;引发交通瘫痪、地铁停运、管网泄漏爆管、路面塌陷、防洪排涝、燃气爆炸、供热安全、管廊安全、消防火灾等安全隐患&#xff0c;影响…

性能优化——分库分表

1、什么是分库分表 1.1、分表 将同一个库中的一张表&#xff08;比如SPU表&#xff09;按某种方式&#xff08;垂直拆分、水平拆分&#xff09;拆分成SPU1、SPU2、SPU3、SPU4…等若干张表&#xff0c;如下图所示&#xff1a; 1.2、分库 在表数据不变的情况下&#xff0c;对…

【Unity3D赛车游戏】【四】在Unity中添加阿克曼转向,下压力,质心会让汽车更稳定

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

C++实现字符串的逆置

目录 C和C的区别 【1】C对C的扩充 【2】C对C的兼容 第一个C程序 【1】hello world 【2】cout标准输出流对象 i&#xff09;介绍 ii&#xff09;运算 iii&#xff09;cout的使用 iv&#xff09;使用cout指定格式的输出 练习&#xff1a;1、输出斐波那契的前10项。 【3】…

《Linux从练气到飞升》No.17 进程创建

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的…