1.泛型是什么?
Jdk1.5以后的java特性
java中的一种编译时类型,运行时无效
是java强类型语言的一种补充和完善
2.泛型推出的目的?
对java语言进行类型增强
提高程序运行时可读性和效率
可以更好的实现通用性变成,对代码进行抽取实现复用
3.泛型应用的类型?
类泛型:类名<泛型>【约束列中方法参数以及返回值类型】
方法泛型:<泛型>方法返回值类型 方法名()
一、
错误:
List list = new ArrayList();
改正:
List <? extends Object> list = new ArrayList();
错误:
List list2 = new ArrayList();
改正:
List<? super String> list2 = new ArrayList();
二、类泛型:类名<泛型>【约束列中方法参数以及返回值类型】
class container{
public void add(T a ){
System.out.println(a);
}
}
public class other {
public static void main(String[] args){
container c1 = new container();
c1.add(100);
container c2 = new container();
c2.add(“hello world”);
}
}
三、方法泛型:<泛型>方法返回值类型 方法名()
class containers{
public T getBeans(Class cls){
return null;
}
}
class containers{
public static T getBeans(Class cls) throws Exception{
return (T)cls.newInstance();
}
public static <E>void doSort(List<E> List){
}
public <E>void doSorts(List<? extends E> List){
}
}