(29条消息) JavaEE进阶(12) 四大内置注解@Override、@Deprecated、@SuppressWarnings、@SafeVarargs
作者:互联网
Java中的四大内置注解: ==> 标记程序 给予特殊意义
1.@Override : 验证方法是否在覆写
2.@Deprecated : 标记方法、类...等是否过时
3.@SuppressWarnings: 标记 内容抑制警告
4.@SafeVarargs: 标记 抑制堆污染警告
什么时候会出现对堆污染警告?? ==》 使用泛型+可变参数的时候就会出现对污染【警告】
堆污染警告,仅仅是警告 而已,并不代表不能用
为什么会出现堆污染警告,以及堆污染可能出现什么问题
例如:堆中添加各种类型的数据杂乱:classCastException
不能够创建泛型数组 :创建数组必须要有具体的类型,【数组就是存储空间】
这个堆污染警告,是后面才专门加的一个 注解,原来用@SuppressWarings
Java中可以标记的位置:类[字段,构造方法,普通方法,局部变量] 接口 枚举
ex:
/** * Java中的四大内置注解: ==>标记程序 给予特殊意义 * 1.@Override : 验证方法是否在覆写 * 2.@Deprecated : 标记方法、类...等是否过时 * 3.@SuppressWarnings: 标记 内容抑制警告 * 4.@SafeVarargs: 标记 抑制堆污染警告 * 什么时候会出现对堆污染警告?? ==》 使用泛型+可变参数的时候就会出现对污染【警告】 * 堆污染警告,仅仅是警告 而已,并不代表不能用 * 为什么会出现堆污染警告,以及堆污染可能出现什么问题 * 例如:堆中添加各种类型的数据杂乱:classCastException * 不能够创建泛型数组 :创建数组必须要有具体的类型,【数组就是存储空间】 * 这个堆污染警告,是后面才专门加的一个 注解,原来用@SuppressWarings * * java中可以标记的位置:类[字段,构造方法,普通方法,局部变量] 接口 枚举 * @author 郑清 */public class AnnotationDemo { @Override //验证方法是否在覆写 public String toString() { // TODO Auto-generated method stub return super.toString(); } @Deprecated //标记方法、类...等是否过时 private void add() { // TODO Auto-generated method stub } //@SuppressWarnings({ "rawtypes", "unused" }) //标记 内容抑制警告 private void getList() { // TODO Auto-generated method stub @SuppressWarnings({ "rawtypes", "unused" }) //标记 内容抑制警告 List list; } @SuppressWarnings("unused") //标记 内容抑制警告 @SafeVarargs //标记 抑制堆污染警告 private static <T>T useVarargs(T...args) { // TODO Auto-generated method stub return args.length > 0 ? args[0] : null; } }
---------------------
作者:郑清
来源:CSDN
原文:https://blog.csdn.net/qq_38225558/article/details/82728402
版权声明:本文为上一个作者原创文章,转载请附上博文链接请询问郑清!
标签:12,进阶,SuppressWarnings,标记,抑制,污染,数组,警告 来源: https://blog.csdn.net/jiaoqi6132/article/details/120178009