Jdk1.5中的新特性 --泛型 (详细版)
本来只转载了个链接,和一个简单的使用程序,但昨天不小心看到有人批判jdk1.5,先说java要强制转型不好的问题没解决,容器不能放基类型不好,接着说泛型没用。而恰恰Jdk1.5中解决了这些问题,所以感叹之余,把这篇文章改一下,详细的说说泛型。
一,Java中的泛型:
在Java中能使用到泛型的多是容器类,如各种list map set,因为Java是单根继承,所以容器里边可以放的
内容是任何Object,所以从意义上讲原本的设计才是泛型。但用过Java的人是否感觉每次转型很麻烦呢?
而且会有些错误,比如一个容器内放入了异质对象,强制转型的时候会出现cast异常。而这中错误在编译器是
无从发现的。所以jdk1.5中提供了泛型,这个泛型其实是向c++靠拢了.好,我们先看几个实例再细说原理。
二,泛型的用法:(多个实例)
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee;">1http://www.agoit.com/Images/OutliningIndicators/None.gif实例A
2http://www.agoit.com/Images/OutliningIndicators/None.gifArrayList<String> strList = new ArrayList<String>();
3http://www.agoit.com/Images/OutliningIndicators/None.gifstrList.add("1");
4http://www.agoit.com/Images/OutliningIndicators/None.gifstrList.add("2");
5http://www.agoit.com/Images/OutliningIndicators/None.gifstrList.add("3");
6http://www.agoit.com/Images/OutliningIndicators/None.gif//关键点(1) 注意下边这行,没有强制转型
7http://www.agoit.com/Images/OutliningIndicators/None.gifString str = strList.get(1);
8http://www.agoit.com/Images/OutliningIndicators/None.gif//关键点(2)然後我们加入,这个时候你会发现编译器报错,错误在编译器被发现,错误当然是发现的越早越好
9http://www.agoit.com/Images/OutliningIndicators/None.gifstrList.add(new Object());
页:
[1]