Java--泛型(JDK5.0新特性)
一,为什么要引入泛型?
1,可以统一集合中的数据类型
2,可以减少强制类型转换
3,泛型其实就是编译器检查类型
二,泛型语法如何实现?
E指的是element,可以是各种各样的类型
1,Map使用泛型
// maps 中的key只能是String类型,value只能是Integer类型
Map<String , Integer> maps = new HashMap<String , Integer>();
2,SortedSet集合使用泛型
//Manager是我们自定义的一个类型
SortedSet<Manager> ss = new TreeSet<Manager>();
3,自定义泛型
class MyClass<T>{
public void m1 (T t){
System.out.println( t );
}
}
public class Test{
public static void main(String[] args){
//这时候,如果调用m1方法的话,传入的参数必须是String类型。
MyClass<String> mc = new MyClss<String>();
}
}
三,泛型的优点和缺点?
如果集合不使用泛型,则集合中的元素类型不统一。在遍历集合的时候,只能拿出来Object类型,需要做大量的强制类型转换,比较麻烦。