> 文档中心 > 泛型的概述

泛型的概述


泛型的概述:

泛型是JDK5中引入的特性,它提供了编译时类型的安全检测机制,该机制允许在编译时检测到非法的类型,他的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数

泛型的定义格式:

  • :指定一种的格式.这里的类型可以看成是形参
  • :指定多种类型的格式,多种类型之间用逗号隔开.这里的类型可以看成是形参
  • 将来具体调用时候给定的类型可以看成是形参,并且实参的类型只能是引用数据类型

以图文和代码的形式进行讲解:

以存储字符串为例

无泛型下

package Demo;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class Demo {    public static void main(String[] args) {  //建立Collection集合(有泛型)  Collection c=new ArrayList();  //添加集合内容 c.add("菜徐琨"); c.add("沸羊羊"); c.add("美羊羊"); c.add(11); //用Iterator接口来遍历 Iterator i = c.iterator(); while(i.hasNext()){//     Object next = i.next();     String next = (String)i.next();     System.out.println(next); }    }}

输入的内容
菜徐琨
沸羊羊
美羊羊
Exception in thread “main” java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at Demo.Demo.main(Demo.java:33)

无泛型下的图文解释
柏维怡我爱你

柏维怡我爱你柏维怡我忘不了你

有泛型下

package Demo;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class Demo {    public static void main(String[] args) {  //建立Collection集合(有泛型)  Collection<String> c=new ArrayList<>();  //添加集合内容 c.add("菜徐琨"); c.add("沸羊羊"); c.add("美羊羊"); //c.add(11);   去掉情况下可以执行 //用Iterator接口来遍历 Iterator<String> i = c.iterator(); while(i.hasNext()){     String next = i.next();     System.out.println(next); }    }}

输出的内容
菜徐琨
沸羊羊
美羊羊

有泛型下的图文解释,内容代码里含有c.add(11);的情况下
柏维怡我爱你

闲鱼礼物网