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 stubreturn 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 stubreturn args.length > 0 ? args[0] : null;}}