Java泛型

泛型是Java语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类,可以把类型看作是使用参数化类型时指定的类型的一个占位符,就像方法形式参数是运行时传递的值的占位符一样

泛型的主要目的是提高Java程序的类型安全

 

在定义泛型类或声明泛型类的变量时,使用尖括号来指定形式类型参数。

泛型类中的类型参数几乎可以用于任何可以使用类名的地方,如:

       Public interface Map<K,V>{

              Public void put(K key,V value);

              Public V get(K key);

}

当声明或者实例化一个泛型的对象时,必须指定类型参数的值:

       Map<String,String> map=new HashMap<String,String>();

 

 

推荐的命名约定是使用大写的单个字母作为类型参数:

       K---键,比如映射的键

       V---值,比如List和Set的内容,或者Map的值

       E---异常类

       T---泛型

 

通过在类的定义中添加一个形式类型参数列表,可以将类泛型化,方法也可以被泛型化

类型通配符:<?>

       Map<? Extends Number>  传入的类型实参必须是指定类型或者指定类型的子类

       Map<? Super Number>  传入的类型实参必须是指定类型或者指定类型的父类

 

      

posted @ 2019-05-11 20:21  hongzxc  阅读(93)  评论(0)    收藏  举报