当前位置:
首页 >
java注解:@Deprecated(不建议使用的,废弃的);@SuppressWarnings(忽略警告,达到抑制编译器产生警告的目的)
发布时间:2023/12/19
43
豆豆
生活随笔
收集整理的这篇文章主要介绍了
java注解:@Deprecated(不建议使用的,废弃的);@SuppressWarnings(忽略警告,达到抑制编译器产生警告的目的)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
java注解:@Deprecated(不建议使用的,废弃的), @SuppressWarnings(忽略警告,达到抑制编译器产生警告的目的)
@Deprecated可以修饰类、方法、变量,在java源码中被@Deprecated修饰的类、方法、变量等表示不建议使用的,可能会出现错误的,可能以后会被删除的类、方法等,如果现在使用,则在以后使用了这些类、方法的程序在更新新的JDK、jar包等就会出错,不再提供支持。 个人程序中的类、方法、变量用@Deprecated修饰同样是不希望自己和别人在以后的时间再次使用此类、方法。 当编译器编译时遇到了使用@Deprecated修饰的类、方法、变量时会提示相应的警告信息。
@SuppressWarnings 可以达到抑制编译器编译时产生警告的目的,但是很不建议使用@SuppressWarnings注解,使用此注解,编码人员看不到编译时编译器提示的相应的警告,不能选择更好、更新的类、方法或者不能编写更规范的编码。同时后期更新JDK、jar包等源码时,使用@SuppressWarnings注解的代码可能受新的JDK、jar包代码的支持,出现错误,仍然需要修改。
可以看成@Deprecated注解和@SuppressWarnings注解是成对出现的。
[java] view plaincopy /** * @Description: 编码时我们总会发现如下变量未被使用的警告提示, * 上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了。 * 这时我们可以在方法前添加 @SuppressWarnings("unchecked") 去除这些“感叹号”。 */ public String convertXmlToSendMethods(Document document){ //发布方式(1到多个) List<Element> methodName = document.selectNodes("/alert/code/method/methodName"); List<Element> message = document.selectNodes("/alert/code/method/message"); List<Element> audienceGrp = document.selectNodes("/alert/code/method/audienceGrp"); List<Element> audenceprt = document.selectNodes("/alert/code/method/audenceprt"); //处理‘发布方式’复数 int methodNameSize = 0; if (null!=methodName && methodName.size()>0) { methodNameSize = methodName.size(); } JSONArray jsonArraySendMethods = new JSONArray(); for (int i = 0; i < methodNameSize; i++) { JSONObject json = new JSONObject(); json.put("methodName", methodName.get(i).getTextTrim()); json.put("message", message.get(i).getTextTrim()); json.put("audienceGrp", audienceGrp.get(i).getTextTrim()); json.put("audenceprt", audenceprt.get(i).getTextTrim()); jsonArraySendMethods.put(json); } return jsonArraySendMethods.toString(); }
/** * @Description:示例1——抑制单类型的警告: */ @SuppressWarnings("unchecked") public void addItems(String item){ @SuppressWarnings("rawtypes") List items = new ArrayList(); items.add(item); } /** * @Description: 示例2——抑制多类型的警告: */ @SuppressWarnings(value={"unchecked", "rawtypes"}) public void addItems(String item){ List items = new ArrayList(); items.add(item); } /** * @Description:示例3——抑制所有类型的警告: */ @SuppressWarnings("all") public void addItems(String item){ List items = new ArrayList(); items.add(item); } 抑制警告的关键字
通过@SuppressWarnings的源码可知,其注解目标为类、字段、函数、函数入参、构造函数和函数的局部变量。而家建议注解应声明在最接近警告发生的位置
[java] view plaincopy
@SuppressWarings注解 详解
[java] view plaincopy| 关键字 | 用途 |
| 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 |
参考:http://www.cnblogs.com/fsjohnhuang/p/4040785.html
总结
以上是生活随笔为你收集整理的java注解:@Deprecated(不建议使用的,废弃的);@SuppressWarnings(忽略警告,达到抑制编译器产生警告的目的)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Socket和ServerSocket
- 下一篇: pandas计算移动平均值