@SuppressWarnings注解用法详解

@SuppressWarnings注解常见用法 使用场合 @SuppressWarnings注解,主要用于抑制编译器报出的warning信息。 比如在idea中,如果某个方法的返回值没有被使用,idea在语法检查时,会把这个方法标记为阴影状态,鼠标悬停后会显示对应的原因。 如果此时我觉得这个返回值是必要的,只是暂时还没用到,就可以加一个@SuppressWarnings注解,抑制警告信息。 当然,不是每时每刻都需要解决warning。一般会在提交代码前做一个检查,例如用idea的gui提交到git仓库时,默认会对我们的修改做一个检查,如. 阅读详情

@SuppressWarnings注解用法详解

今天来谈谈@SuppressWarnings注解的作用。

J2SE 提供的最后一个批注是 @SuppressWarnings。该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。

@SuppressWarnings 批注允许您选择性地取消特定代码段(即,类或方法)中的警告。其中的想法是当您看到警告时,您将调查它,如果您确定它不是问题,

您就可以添加一个 @SuppressWarnings 批注,以使您不会再看到警告。虽然它听起来似乎会屏蔽潜在的错误,但实际上它将提高代码安全性,因为它将防止

您对警告无动于衷 — 您看到的每一个警告都将值得注意。

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

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

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

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

@SuppressWarnings("unused") 去除这些“感叹号”。

一.@SuppressWarings注解

作用:用于抑制编译器产生警告信息。

示例1——抑制单类型的警告:

 

  1. @SuppressWarnings("unchecked")  
  2. public void addItems(String item){  
  3.   @SuppressWarnings("rawtypes")  
  4.    List items = new ArrayList();  
  5.    items.add(item);  
  6. }  

示例2——抑制多类型的警告:

 

 

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

示例3——抑制所有类型的警告:

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

二.注解目标

 

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

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

二.抑制警告的关键字

 

关键字用途
allto suppress all warnings
boxing to suppress warnings relative to boxing/unboxing operations
castto suppress warnings relative to cast operations
dep-annto suppress warnings relative to deprecated annotation
deprecationto suppress warnings relative to deprecation
fallthroughto suppress warnings relative to missing breaks in switch statements
finally to suppress warnings relative to finally block that don’t return
hidingto suppress warnings relative to locals that hide variable
incomplete-switchto suppress warnings relative to missing entries in a switch statement (enum case)
nlsto suppress warnings relative to non-nls string literals
nullto suppress warnings relative to null analysis
rawtypesto suppress warnings relative to un-specific types when using generics on class params
restrictionto suppress warnings relative to usage of discouraged or forbidden references
serialto suppress warnings relative to missing serialVersionUID field for a serializable class
static-accessto suppress warnings relative to incorrect static access
synthetic-access to suppress warnings relative to unoptimized access from inner classes
uncheckedto suppress warnings relative to unchecked operations
unqualified-field-accessto suppress warnings relative to field access unqualified
unusedto suppress warnings relative to unused code

 

    • 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://blog.youkuaiyun.com/hunhun1122/article/details/72356228
@SuppressWarnings注解的作用 我们在写代码的时候,不论是导入的包,还是声明的对象,有时候会出现黄线,感觉就很难受! @SuppressWarnings注解主要用在取消一些编译器产生的警告对代码左侧行列的遮挡,有时候这会挡住我们断点调试时打的断点。 如图所示: 这里,有强迫症的老铁 就难受了!哈哈 这时候我们在方法上加上@SuppressWarnings注解就可以消除这些警告的产生,注解的使用有三种: 1. @Su...... 阅读详情

相关推荐

Java 中的 @SuppressWarnings 注解

是一个强大的工具,但它的作用仅限于隐藏编译器警告,不应被滥用。合理使用该注解可以提升代码可读性,但在开发中,建议优先解决警告背后的问题,而非简单忽略它们。然而,某些情况下,这些警告可能是可以忽略的。例如,将原生类型的集合转换为带有具体泛型的集合时,编译器会提示警告,是 Java 提供的内置注解,用于抑制编译器的特定警告信息。本文将详细介绍该注解的使用场景、常见类型、最佳实践,以及代码实例,帮助你在开发中正确运用这一工具。开发中,未使用的变量可能是临时调试代码或保留设计,为避免编译器警告,可以使用。

学无止境 1716

企业级大文件安全传输架构实战:端到端加密与高可用设计

在数据安全与高效流转成为企业核心诉求的背景下,文件传输技术正从简单的数据搬运演变为集加密、管控于一体的系统工程。其核心原理在于通过密码学技术,在数据传输过程中构建端到端的安全通道,确保数据在存储和传输过程中的机密性与完整性。这一技术价值不仅在于防范数据泄露风险,更在于满足企业合规审计与精细化管理的需求。典型的应用场景包括跨地域的研发协作、海量媒体资产分发以及对外部合作伙伴的安全数据交付。本文聚焦于企业级大文件传输这一具体挑战,深入剖析了如何通过融合AES-256-GCM对称加密与RSA/SM2非对称加密的混

转些好文章,促进分享。 495

STM32实现webserver显示数据及配置参数

其实提到的将fsdata.c重命名为fsdata_custom.c,可以不重命令,将/LWIP/Target/lwipopts.h中HTTPD_USE_CUSTOM_FSDATA 定义为0,这样HTTPD_FSDATA_FILE将使用fsdata.c,避免每次生成fsdata.c需要重命令的麻烦。2、登录成功后,板卡根据板卡配置类型,返回对应的数据页面,该页面可实现数据校准、清零,以及进行到板卡参数设置页面。目前还未实现post功能以及http身份验证功能。3、板卡参数设置页面。

2693

@SuppressWarnings 参数详解

是 Java 提供的一个注解(annotation),用于告诉编译器忽略指定的警告信息。请注意,不同的编译器版本和配置可能会支持不同的警告类型,因此建议查阅特定编译器版本的文档以获取最准确的信息。注解在 Java 中用于抑制特定类型的编译器警告。注解可能会隐藏潜在的问题,因此应谨慎使用,并尽量在代码中进行适当的修复或改进。注解,告诉编译器忽略该类中所有未使用的成员变量或方法引起的警告。注解,告诉编译器忽略该字段未使用引起的警告。注解,告诉编译器忽略该方法未使用引起的警告。在上面的例子中,使用了。

怀着一颗学徒的心 7581

Win11下Android模拟器报HAXM未安装?三步搞定虚拟化配置(附终端命令)

本文详细解析了Win11下Android模拟器HAXM报错的解决方案,从虚拟化配置到终端命令实战。通过检查BIOS设置、调整Windows功能及执行PowerShell命令,三步搞定虚拟化配置问题,有效提升模拟器性能。特别针对Win11与HAXM的兼容性问题提供了专业指导。

weixin_29215815的博客 143

WGCNA加权基因共表达网络分析(1)简介、原理

WGCNA简介 WGCNA(Weighted Gene Co-Expression Network Analysis, 加权基因共表达网络分析),鉴定表达模式相似的基因集合(module),解析基因集合与样品表型之间的联系,绘制基因集合之间的调控网络并鉴定关键调控基因 WGCNA适用于复杂的转录组数据(样本数目较多) 研究不同器官/组织类型和不同阶段的发育调控、生物和非生物胁迫的不同时间响应机制 WGCNA原理 原理概要 1.构建基因共表达网络:先构建基因共表达网络,通常利用两两基因之间的表达模式来计算

qq_44520665的博客 3万+

注解用法详解——@SuppressWarnings

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

csdn00123的博客 1783

卫星监测“America”级#两#栖#攻#击#舰#(LHA-6)出港

卫星监测“America”级#两#栖#攻#击#舰#(LHA-6)出港 前脚刚走,后脚又来,山姆大叔又来刷存在感,2020年7月28日,USS Ronald Reagan流窜在我国东海海区被卫星拍了下来: 2020年8月1日,最新卫星图像显示USS Ronald Reagan已经返回母港日本横须贺:距离其出港(2020年6月8日)已经过去了快两个月 然而事情并没有到此结束,“America”级#两#栖#攻#击#舰#(LHA-6)选择在 “八.一” 这个特殊的日子前后出港颇具挑衅的味道。 根据2020年

qq_46071146的博客 1565

@SuppressWarnings注解详解

摘要:Java注解@SuppressWarnings是JDK内置的重要元注解,用于抑制编译器警告。文章详细解析了其使用方法,包括单类型/多类型警告抑制和all关键字使用。列举了常见警告类型如unchecked、deprecation等,并强调最佳实践:最小化作用范围、明确警告类型、添加注释说明和谨慎使用。该注解能提升代码可读性,但需避免滥用掩盖潜在问题。

weixin_42786641的博客 784

Matterport3D数据集介绍与下载(全网最详细)

Matterport3D数据集介绍与下载(全网最详细)

shannanshouyin的博客 2165

手把手教你五种方案配置Obsidian免费同步,全平台通用(支持Alist/OpenList)

Obsidian是一款优秀的Markdown笔记工具,但官方同步服务每年近700元让人望而却步💸 本文整理了5种免费同步方案,涵盖苹果生态专属方案、多网盘插件同步、版本管理同步、点对点同步、自建实时同步等不同场景📱💻 每种方案都附有详细配置步骤,助你找到最适合的同步方式✨

XiaoqiangClub的博客 1832

@SuppressWarnings注解用法

@SuppressWarnings注解用法

qq_44779847的博客 242

手把手完整实现STM32+NB-IoT+MQTT+ThingsCloud云平台+手机APP(Android或iOS)及微信小程序及Web app 应用

本教程以远程温湿度显示及点灯作为示例。最终效果实现本地OLED显示屏、云平台和手机APP、微信小程序和Web App可远程查看温湿度数据,并可远程控制LED灯亮灭。以此完成基于MQTT协议的NB-IoT远程发布订阅数据,以此在本教程基础上可扩展开发更多的功能。

嵌入式阿齐Archie 2万+

@SuppressWarnings注解作用与用法详解

@SuppressWarnings注解是jse提供的注解。作用是屏蔽一些无关紧要的警告。使开发者能看到一些他们真正关心的警告。从而提高开发者的效率 简介: java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一。可以标注在类、字段、方法、参数、构造方法,以及局部变量上。作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。 使用: @SuppressWarnings(“”) @SuppressWarnings({}) @SuppressWarnings

qq_43036466的博客 5万+

17track单号查询逆向分析

这就说明该网站很有可能存在其它检测点,而检测本地替换最大可能的就是检测了代码格式化或者代码长度。也一样,要么导致网站卡死,要么会导致网页加载异常,这里可能就难到不少人了,让我们一步一步解决。而这个站主要是检测了代码格式化,无限循环检测造成了网站卡死,经多次测试发现检测点共三处。方法中代码很长,但是经调试后发现,它其实只返回一个固定的值,这里直接写死即可。同样的,虽然看起来很长,但是跟过之后就会发现流程很简单,这里主要就是对。追加了一些值,是一条很长的语句,整理代码。,核心流程也很简单,稍微跟一下就出来了,

pyzzd的博客 1622

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

@SuppressWarnings注解

@SuppressWarnings注解在Java语言中的主要作用是告诉编译器`忽略特定类型的警告信息`,以避免编译器发出这些警告。这对于提高代码的可读性和维护性非常有帮助,尤其是在处理一些**已知的问题或者在特定情况下可以接受的警告**时。

学习笔记 1041

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

@SuppressWarnings 注解详解

在编码时会发现eclipse总会提示一些变量未被使用的提示信息: 上述代码编译通过且可以运行,但每行前面的“感叹号”对有代码强迫症的“猿”来说就心情不畅了。这时我们可以在方法前添加@SuppressWarnings 注解去除这些warning。 作用:用于抑制编译器产生的警告信息。注解目标为类、字段、方法、方法入参、构造函数和函数的局部变量。建议注解应声明在最接近警告发生的位置。 示例一...

stklway的专栏 3429

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

关于@SuppressWarnings注解

@SuppressWarnings注解允许您选择性地取消特定代码段(即,类或方法)中的警告。其中的想法是当您看到警告时,您将调查它,如果您确定它不是问题,您就可以添加一个@SuppressWarnings注解,以使您不会再看到警告。虽然它听起来似乎会屏蔽潜在的错误,但实际上它将提高代码安全性,因为它将防止您对警告无动于衷 — 您看到的每一个警告都将值得注意。 一、@SuppressWarings注...

Qxiaobaiyimei的博客 1087
上一篇: 浅谈Java中的对象和对象引用
下一篇: java几种常用设计模式简单示例
scnuwilliams
博客等级 码龄10年 32粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值