一、前言
编码时我们总会发现如下变量未被使用的警告提示:
上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了。这时我们可以在方法前添加 @SuppressWarnings("unused") 去除这些“感叹号”。
**二、 @SuppressWarings 注解 **
** 作用:用于抑制编译器产生警告信息。**
示例 1——抑制单类型的警告:
@SuppressWarnings("unchecked") public void addItems(String item){ @SuppressWarnings("rawtypes") List items = new ArrayList(); items.add(item); }``` 示例2——抑制多类型的警告:
@SuppressWarnings(value={"unchecked", "rawtypes"}) public void addItems(String item){
List items = new ArrayList();
items.add(item);
}
示例3——抑制所有类型的警告:
@SuppressWarnings("all") public void addItems(String item){
List items = new ArrayList();
items.add(item);
}
**三、注解目标 ** 通过 @SuppressWarnings 的源码可知,其注解目标为类、字段、函数、函数入参、构造函数和函数的局部变量。 而家建议注解应声明在最接近警告发生的位置。 **四、抑制警告的关键字 ** |**关键字**|**用途**| | - | :-: | -: | |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| |finally |to suppress warnings relative to finally block that don’t return| |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)| |nls|to suppress warnings relative to non-nls string literals| |null|to suppress warnings relative to null analysis| |rawtypes|to suppress warnings relative to un-specific types when using generics on class params| |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| |static-access|o 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| **五、Java Lint选项 ** ** 1\. lint的含义** 用于在编译程序的过程中,进行更细节的额外检查。 ** 2. javac 的标准选项和非标准选项** **标准选项:**是指当前版本和未来版本中都支持的选项,如 -cp 和 -d 等。 **非标准选项:**是指当前版本支持,但未来不一定支持的选项。通过 javac -X 查看当前版本支持的非标准选项。  ** 3\. 查看警告信息** 默认情况下执行 javac 仅仅显示警告的扼要信息,也不过阻止编译过程。若想查看警告的详细信息,则需要执行 javac -Xlint:keyword 来编译源码了。 **六、总结** 现在再都不怕不知道设置断点没有咯!
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于