*泛型类,泛型方法,泛型变量
- 有泛型变量必须声明泛型类,类型保持一致,泛型类可以继承和实现
- 泛型类可以存在普通方法
- 泛型方法规避方法重载的重复性和类型强制转换的低效率
- 泛型方法可以不声明泛型类,可以与泛型类声明的类型不同或相同
- 泛型方法的参数类型必须和泛型方法或泛型类声明的类型一致
- 传入类型必须是对象类型(引用类型或基本数据类型的封装类型)
- 2、在集合中的应用
- 适用于所有集合类型
- 将集合元素的默认类型Object转换成泛型声明类型
- 避免强制转换
- 如果集合设置为了泛型:只能存储泛型变量及其子类(里氏替换原则)
- 3、泛型
- 泛型:主要为了解决程序中装箱和拆箱的问题:
- 装箱: 值类型–>引用类型 Object obj=1;
- 拆箱: 引用类型—>值类型 int number=(int)obj;
- 4、不用泛型的演示过程
boolean add(E e);
add(Object o): add(1);
E get(int index)
Object get(int index) Object a=lists.get(0); int number=(int)a;
package ll;
import java.awt.List;
public class Generic <E>{
E e;
E[] es;
List lists;
public <T>T get(){
System.out.println("泛型方法");
return null;
}
public <T> String dog(E f){
System.out.println("dog");
return "1";
}
public void cat(int i){
System.out.println("maio");
}
}
package ll;
public class Test {
public static void main(String[] args) {
Generic<String> gens=new Generic<>();
gens.e="2";
gens.dog("");
gens.get();
gens.cat(8);
}
}