你的位置:首页 > 软件开发 > Java > Java基础——泛型

Java基础——泛型

发布时间:2017-06-30 00:01:02
一、定义泛型(generic)是指参数化类型的能力。可以定义带泛型类型的类或方法,随后编译器会用具体的类型来替换它(泛型实例化)。使用泛型的主要优点是能够在编译时,而不是在运行时检测出错误。它是jdk1.5之后出现的特性,为了增强安全性。我的理解是,它更像一种特殊规范,比如程序员 ...

Java基础——泛型

一、定义

泛型(generic)是指参数化类型的能力。可以定义带泛型类型的类或方法,随后编译器会用具体的类型来替换它(泛型实例化)。使用泛型的主要优点是能够在编译时,而不是在运行时检测出错误。它是jdk1.5之后出现的特性,为了增强安全性。我的理解是,它更像一种特殊规范,比如程序员在调用的时候,或者客户端在引入的时候,总不能鱼龙混杂,想怎样就怎样啊?!前面定义说输入一个String型的,这边再不听话,没必要让你执行下去了,就直接让你挂掉。

二、未定泛型的坏处

1.报警告, 没有进泛型参数化

2.不定义泛型,集合里可以装入任何类型的对象,这是不安全的

3.取集合中的数据的时候,要进行强转

import java.util.Iterator;import java.util.Set;import java.util.TreeSet;public class Test {  public static void main(String[] args) {    Set treeSet = new TreeSet();//没有使用泛型,应该这样:Set<Student> treeSet = new TreeSet<Student>();    treeSet.add(new Student(11, 80, "李平"));    treeSet.add(new Student(23, 40, "王芳"));    treeSet.add(new Student(10, 60, "赵磊"));    treeSet.add(new Student(12, 40, "王小二"));    treeSet.add(new Student(10, 60, "马苗"));    treeSet.add(new Student(18, 60, "马苗"));    treeSet.add(new Student(25, 70, "姜浩"));    Iterator it = treeSet.iterator();    while (it.hasNext()) {      Student stu = (Student) it.next();//没有使用泛型:需要强转      System.out.println(stu);    }  }}

原标题:Java基础——泛型

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。