泛型
1 泛型的定义
泛型声明方式<任意字母> 类,接口,方法
成员方法可以使用类上和方法上声明的泛型
静态方法上不能使用类上声明的泛型
边界问题
无界通配符 ?
上界通配符 ? extends E 可以传入E(元素的类型只能是E和E的子类)
下界通配符 ? Supper E(元素的类型只能是C和C的父类)
作用:
1 保证类型的安全,编译阶段检查
2 避免类型转换的硬编码
3 提高代码重新
注意:泛型只在编译阶段有效,编译成功以后会采取去泛型的处理
堆污染
当一个可变泛型参数指向一个无泛型参数时,可能发生的一种现象
2 桥接方法和类型擦除
为了兼容1.5之前没有泛型的代码
3 通配符
4 泛型的使用
注解
1 注解的概念和作用
概念:注解市JDK1.5之后的新特性用来说明程序的
注解的使用:@注解名称
作用的分类:
编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
代码分析:通过代码里标识的注解对代码进行分析【使用反射】
编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】
2 预定义注解
@override:检测被该注解标注的方法是否是继承自父类(接口)的
@Deprecated:该注解标注的内容,标识已经过时
@SuppressWarnings:压制警告,一般传递参数all如@SuppressWarnings("all)
3 自定义注解
本质:是一个继承 java.lang.annotation.annotation接口的接口
注解中定义的方法 就是注解的属性
String,基本数据类型,Enum,Class,注解类型以及以上类型的数组类型
4 元注解
形容注解的注解叫做元注解
5 注解解析器
注解运用场景分两种:一种反射(通过注解的不同实现一些业务场景) 一种通过注解解析器(编译之前做的)
注解处理器: