java注解:@Deprecated(不建议使用的,废弃的), @SuppressWarnings(忽略警告,达到抑制编译器产生警告的目的)
@Deprecated可以修饰类、方法、变量,在java源码中被@Deprecated修饰的类、方法、变量等表示不建议使用的,可能会出现错误的,可能以后会被删除的类、方法等,如果现在使用,则在以后使用了这些类、方法的程序在更新新的JDK、jar包等就会出错,不再提供支持。     个人程序中的类、方法、变量用@Deprecated修饰同样是不希望自己和别人在以后的时间再次使用此类、方法。  当编译器编译时遇到了使用@Deprecated修饰的类、方法、变量时会提示相应的警告信息。
@SuppressWarnings 可以达到抑制编译器编译时产生警告的目的,但是很不建议使用@SuppressWarnings注解,使用此注解,编码人员看不到编译时编译器提示的相应的警告,不能选择更好、更新的类、方法或者不能编写更规范的编码。同时后期更新JDK、jar包等源码时,使用@SuppressWarnings注解的代码可能受新的JDK、jar包代码的支持,出现错误,仍然需要修改。
可以看成@Deprecated注解和@SuppressWarnings注解是成对出现的。

通过@SuppressWarnings的源码可知,其注解目标为类、字段、函数、函数入参、构造函数和函数的局部变量。而家建议注解应声明在最接近警告发生的位置

[java] view plaincopy
  1. /**
  2. * @Description: 编码时我们总会发现如下变量未被使用的警告提示,
  3. * 上述代码编译通过且可以运行,但每行前面的“感叹号”就严重阻碍了我们判断该行是否设置的断点了。
  4. * 这时我们可以在方法前添加 @SuppressWarnings("unchecked") 去除这些“感叹号”。
  5. */
  6. public String convertXmlToSendMethods(Document document){
  7. //发布方式(1到多个)
  8. List<Element> methodName = document.selectNodes("/alert/code/method/methodName");
  9. List<Element> message = document.selectNodes("/alert/code/method/message");
  10. List<Element> audienceGrp = document.selectNodes("/alert/code/method/audienceGrp");
  11. List<Element> audenceprt = document.selectNodes("/alert/code/method/audenceprt");
  12. //处理‘发布方式’复数
  13. int methodNameSize = 0;
  14. if (null!=methodName && methodName.size()>0) {
  15. methodNameSize = methodName.size();
  16. }
  17. JSONArray jsonArraySendMethods = new JSONArray();
  18. for (int i = 0; i < methodNameSize; i++) {
  19. JSONObject json = new JSONObject();
  20. json.put("methodName", methodName.get(i).getTextTrim());
  21. json.put("message", message.get(i).getTextTrim());
  22. json.put("audienceGrp", audienceGrp.get(i).getTextTrim());
  23. json.put("audenceprt", audenceprt.get(i).getTextTrim());
  24. jsonArraySendMethods.put(json);
  25. }
  26. return jsonArraySendMethods.toString();
  27. }

@SuppressWarings注解 详解

[java] view plaincopy
  1. /**
  2. * @Description:示例1——抑制单类型的警告:
  3. */
  4. @SuppressWarnings("unchecked")
  5. public void addItems(String item){
  6. @SuppressWarnings("rawtypes")
  7. List items = new ArrayList();
  8. items.add(item);
  9. }
  10. /**
  11. * @Description: 示例2——抑制多类型的警告:
  12. */
  13. @SuppressWarnings(value={"unchecked", "rawtypes"})
  14. public void addItems(String item){
  15. List items = new ArrayList();
  16. items.add(item);
  17. }
  18. /**
  19. * @Description:示例3——抑制所有类型的警告:
  20. */
  21. @SuppressWarnings("all")
  22. public void addItems(String item){
  23. List items = new ArrayList();
  24. items.add(item);
  25. }
抑制警告的关键字

关键字 用途
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(忽略警告,达到抑制编译器产生警告的目的)相关推荐

  1. Java 注解用法详解——@SuppressWarnings

    转自: https://www.cnblogs.com/fsjohnhuang/p/4040785.html Java魔法堂:注解用法详解--@SuppressWarnings 一.前言 编码时我们总 ...

  2. java注解---@SuppressWarnings

    原文链接:http://www.cnblogs.com/fsjohnhuang/p/4040785.html 一.前言 编码时我们总会发现如下变量未被使用的警告提示: 上述代码编译通过且可以运行,但每 ...

  3. 简述java中的注释以及用法_怎样理解 Java 注解和运用注解编程?

    正好最近在公众号(BetterAndroid)发了一篇关于注解的文章,贴在这里吧,希望对题主有帮助. 一.什么是注解 我们都知道在Java代码中使用注释是为了提升代码的可读性,也就是说,注释是给人看的 ...

  4. 深入理解 Java 注解

    本文内容基于 JDK8.注解是 JDK5 引入的,后续 JDK 版本扩展了一些内容,本文中没有明确指明版本的注解都是 JDK5 就已经支持的注解. :notebook: 本文已归档到:「blog」 : ...

  5. Java基础学习(11)---Java注解和反射

    文章目录 一.注解概述 二.内置注解 三.元注解 四.自定义注解 五.反射概述 ★ 静态语言 VS 动态语言 反射机制 Java反射机制研究及应用 Java反射优点和缺点 六.Class类 获取Cla ...

  6. 注解 @Deprecated、@deprecated 的使用、说明

    今天偶然在项目中注意到一个注解:@Deprecated 说明: @Deprecated 表示此方法已废弃.暂时可用,但以后此类或方法都不会再更新.后期可能会删除,建议后来人不要调用此方法. 用法: 此 ...

  7. Java注解是如何工作的?

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 遗失的拂晓 来源 | 公众号「锅外的大佬」 来一点咖啡,准备好进入注解的世界. 注 ...

  8. 1.java注释的类型_HappyBKs教你写Java注解(1)——注解的分类、运行机制、作用域及概念汇总...

    注解这东西,已经在我们的编程生活中习以为常了.覆盖一个父类的方法,套用Spring.Mybatis中的编程套路,编写JUnit测试函数等等.你会发现,作为一个Java Coder,你无时无刻不在接触它 ...

  9. 【Java 注解】注解简介及作用

    文章目录 一.注解简介 二.注解作用 三.Java 预定义注解 一.注解简介 注释 是使用文字描述程序 , 是 给开发和维护程序的人员看的 , 编译器在编译时会将注释删除 ; 注解 也是用于 描述程序 ...

最新文章

  1. 你的声音作为一种“武器”:人类战争中声学活动
  2. 虚拟路由冗余协议VRRP
  3. Angular中的路由配置、路由重定向、默认选中路由
  4. ADO.NET连接字符串
  5. 关于Javaweb部署到linux服务器产生乱码?的原因分析
  6. c语言 vscode代码自动补全_借助C/C++ Extension实现VSCode C++代码补全
  7. Java后端学习路线(校招前准备)
  8. python所有软件-太牛逼!一款软件几乎可以操作所有的数据库!
  9. 如何编译CWM Recovery
  10. 读《Web全栈工程师的自我修养》
  11. docker部署kafka踩坑
  12. Oracle 后台进程详解
  13. 记一次完整的npm包开发 --- 发布过程
  14. gazebo中视觉仿真怎么使用自定义贴图的问题
  15. 双非一本考研国防科技大学计算机,不歧视“双非”,保护一志愿!40所“良心”大学值得推荐!...
  16. 浏览器的收藏夹的导入导出
  17. CMake中foreach的使用
  18. Linux -- Ubuntu下载deepin wine依赖问题笔记
  19. javascript一种新的对象创建方式-Object.create()
  20. Android获取百度音乐的音乐下载地址和歌词下载连接

热门文章

  1. 制作作品图片_不懂人文后期制作流程?来,大师手把手教你
  2. Redis整合springboot实现集群模式
  3. 英语口语-文章朗读Week10 Thursday
  4. ffmpeg 过程分析
  5. JM8.5中的7种宏块模式问题 - zhoujunming的专栏 - CSDN博客
  6. H.264的NALU,RTP封包说明(转自牛人)
  7. error: failed to push some refs to 'https://gitee.com/xxx/xxx'
  8. android 去掉标题栏、状态栏、横屏
  9. An internal error occurred during: Launching New_configuration.
  10. vba基本操作 -- 常用功能