Java泛型

Posted hongzxc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>  传入的类型实参必须是指定类型或者指定类型的父类

 

      

以上是关于Java泛型的主要内容,如果未能解决你的问题,请参考以下文章

Java泛型 VS C#泛型 (伪泛型 VS 真泛型)

java中啥叫泛型??

java中啥是泛型,怎么用泛型?

Java——泛型

java泛型的一些知识点:Java泛型--泛型应用--泛型接口泛型方法泛型数组泛型嵌套

Java 泛型泛型简介 ( 泛型类 | 泛型方法 | 静态方法的泛型 | 泛型类与泛型方法完整示例 )