1.泛型是jdk1.5以后出现的,用于解决安全问题,是一个安全机制
2.好处是将运行时期的异常classCastException转移到了编译时期
3.在java中应用最广泛的地方就是集合
4.在java的api中有和 都是泛型 e代表element t代表type
5.什么时候使用泛型呢?当类中要操作的类型不确定,早期通过object来扩展,现在定义泛型,因为object要强转,麻烦
6.泛型类public class TreeSet
泛型方法public void show(T t)
静态泛型方法public static void show(T t)
泛型接口:public interface Map
7.缺点:不能使用子类特有的方法
public static void printIterator0(ArrayList al) {
Iterator it = al.iterator();
while(it.hasNext()) {
Integer next = it.next();
String string = next.toString();
System.out.println(string);
}
}
/**
* 通配符方式。
* 缺点:不能使用对象中元素的特有方法了。
* */
public static void printIterator(ArrayList> al) {
Iterator> it = al.iterator();
while(it.hasNext()) {
Object next = it.next();
System.out.println(next);
}
}
/**
* 泛型方式
* 缺点:不能使用对象中元素的特有方法了。
* @param
* */
public static void printIterator2(ArrayList al) {
Iterator it = al.iterator();
while(it.hasNext()) {
Object next = it.next();
System.out.println(next);
}
}
7.向上限定ArrayList super E>集合中只能存放E或者E的父类
8.向下限定ArrayList extends E>集合中只能存放E或者E的子类