JAVA基础(19)-泛型

泛型

在jdk1.4之前,容器什么类型的对象都可以存储,但是在取出时。需要用到对象的特有内容时,需要做向下转型。但是对象的类型不一致,就会导致向下转型发生了ClassCastException异常。为了避免这个问题,只能主观上控制,往集合中存储的对象类型保持一致。

jdk1.5以后解决了该问题,在定义集合时,就直接明确集合中存储元素的具体类型。这样,编译器在编译时,就可以对集合中存储的对象类型进行检查。一旦发现类型不匹配,就编译失败。这个就是泛型技术。

好处:

  • 将运行时期的问题转移到了编译时期,可以更好的让程序员发现问题并解决问题。
  • 避免了向下转型的麻烦。

总结:泛型就是应用在编译时期的一项安全机制。

package demo;
import java.util.*;
public class Demo {

	public static void main(String[] args) {	
		
	   List<Person> list=new ArrayList<Person>();
	   list.add(new Person("小红",20));
	   list.add(new Person("小明",20));
	   list.add(new Person("小虾",20));
	   
	   for(Iterator<Person> it=list.iterator();it.hasNext();) {
            //使用泛型,这里就不需要像之前那样转型。
		    it.next().get();
	   }
	}
			
}
  

猜你喜欢

转载自my.oschina.net/u/3112095/blog/1806169