问题
在Idea或一些代码检查中,会检测我们的代码,并爆出相关警告。但如果代码检测有偏差,如何消除警告呢?
解决
使用@SuppressWarnings()注解。
代码示例
//忽略uncheck类型的警告
@SuppressWarnings("unchecked")
//忽略uncheck、rawtypes类型的警告
@SuppressWarnings("unchecked","rawtypes")
//忽略所有警告
@SuppressWarnings("all")
汇总
| 警告类型 | 官方解释 | 中文翻译 |
| 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中缺失break的警告 |
| 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 | 抑制没被使用过的代码的警告 |
本文介绍如何使用@SuppressWarnings注解来消除Java代码中的各种警告,包括未检查的类型警告、泛型使用警告等,并提供了详细的注解参数说明。
1513





