目录
一、作用
在java编辑器过程中会出现很多警告,有很多是安全的,但是每次编译有很多警告影响我们对error的过滤和修改,我们可以在代码中加上@SupepressWarnings("xxxx")注解来解决;告诉编辑器忽略指定的警告,不在编译完成后出现警告信息,这些警告信息显示在代码左侧行列栏,会挡住调试时的断点。可注解类、字段、方法、参数、局部变量、构造函数。
二、使用方式
- @SuppressWarnings("") 如: @SuppressWarnings("unchecked")
- @SuppreWarnings({}) 如: @SuppressWarnings({"unchecked","rawtypes"})
- @SuppressWarnings(value = {}) 如: @SuppressWarning(value = {"unchecked","rawtypes"})

举例:没使用@SuppressWarnings注解之前

使用之后:

三、用途列表
根据使用需要,选择表中的关键字。
| 关键字 | 用途 |
| @SuppressWarnings(“unchecked”) | 抑制未检查的转化,例如集合没有指定类型的警告 |
| @SuppressWarnings(“unused”) | 抑制未使用的变量的警告 |
| @SuppressWarnings(“resource”) | 抑制与使用Closeable类型资源相关的警告 |
| @SuppressWarnings(“path”) | 抑制在类路径,原文件路径中有不存在的路径的警告 |
| @SuppressWarnings("deprecation") | 抑制使用了某些不赞成使用的类和方法的警告 |
| @SuppressWarnings("fallthrough") | 抑制switch语句执行到底没有break关键字的警告 |
| @SuppressWarnings("serial") | 抑制某类实现Serializable,但是没有定义serialVersionUID,这个需要但是不必须的字段的警告 |
| @SuppressWarnings("rawtypes") | 抑制没有传递带有泛型的参数的警告 |
| @SuppressWarnings("all") | 抑制全部类型的警告 |
| @SuppressWarnings("unqualified-field-access") | 抑制没有权限访问的域的警告 |
| @SuppressWarnings("synthetic-access") | 抑制子类没有按最优方法访问内部类的警告 |
| @SuppressWarnings("static-access") | 抑制不正确的静态访问方式警告 |
| @SuppressWarnings("incomplete-switch") | 忽略没有完整的switch语句 |
| @SuppressWarnings("dep-ann") | 抑制启用注释的警告 |
| @SuppressWarnings("boxing") | 抑制装箱、拆箱操作时候的警告 |
| @SuppressWarnings("cast") | 抑制映射相关的警告 |
| @SuppressWarnings("finally") | 抑制finally模块没有返回的警告 |
| @SuppressWarnings("hiding") | 抑制相对于隐藏变量的局部变量的警告 |
| @SuppressWarnings("nls") | 忽略非nls格式的字符 |
| @SuppressWarnings("null") | 忽略对null的操作 |
本文详细介绍了Java中的@SuppressWarnings注解,用于消除编译器警告。该注解可以应用于类、字段、方法、参数和局部变量,以忽略特定类型的警告,如未检查的转换、未使用的变量等。示例展示了使用注解前后的对比,并列举了多个常见的警告关键字及其用途,帮助开发者更好地管理和控制代码警告。

1696

被折叠的 条评论
为什么被折叠?



