1.Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。
2.泛型这种语法机制只是在编译阶段给编译器参考的,运行阶段泛型没用
3.泛型在集合中的好处:
使集合中存储的元素类型统一了,从集合中取出的元素类型都是泛型指定的类型,不需要进行大量的向下转型
4.泛型的缺点:
限制了集合中元素的种类
5.泛型在集合中的应用举例
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class GenericTest01 {
public static void main(String[] args) {
// 以下集合指定了只能存String类型
List list1 = new ArrayList();//jdk8以前的写法
List list2 = new ArrayList<>();//钻石表达式,jdk8新特性
list2.add("http://www.baidu.com");
list2.add("http://www.google.com");
list2.add("http://www.bing.com");
Iterator it = list2.iterator();
while(it.hasNext()) {
String s = it.next();
String newString = s.substring(7);
System.out.println(newString);
}
}
}
6.自定义泛型
public class GenericTest02 {
public static void main(String[] args) {
Test t = new Test<>();
// t.display(10);类型不匹配
t.display("hello");
// 不用泛型就是Object类型
Test t1 = new Test();
t1.display(new Object());
}
}
class Test {
public T doSome(T t) {
return t;
}
public void display(T t) {
System.out.println(t);
}
}



