黑马程序员-jdk1.5新特性--泛型
2011-07-10 09:26
274 查看
jdk1.5以前的集合类中存在的问题
ArrayList collection=new ArrayList();
collection.add(1);
collection.add(1L);
collection.add("abc");
int i=(Integer)arrayList.get(1);//编译要强制类型转换且运行时出错!
jdk1.5的集合类希望你在定义集合时,明确表示你要向集合中装哪种类型的数据,无法加入指定类型以外的数据
ArrayList<Integer> collection2=new ArrayList<Integer>();
collection2.add(1);
/*collection2.add(1L);
collection2.add("abc");*/
int i2=collection2.get(0);//不需要再进行类型转换
泛型是提供给javac编译器使用的,可以限定集合中的输入类型,让编译器挡住源程序中的非法输入,编译器编译带类型说明的集合时会去除掉"类型"说明/**
*@Package:laladin.learn
*@Project:javaLearn
*@Title:GenericTest.java
*@Description:TODO
*@author Topdog topdog@163.com
*@date 2011-7-10上午09:17:22
*@version v1.0
*/
package laladin.learn;
import java.util.ArrayList;
/**
* @ClassName:GenericTest
* @Description TODO
* @date 2011-7-10
*/
public class GenericTest {
/**
* @Title:main
* @Description:TODO
* @Param:@param args
* @Return:void
* @throws
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList collection1=new ArrayList();
collection1.add(1);
collection1.add(1L);
collection1.add("abc");
int i=(Integer)collection1.get(1);//编译要强制类型转换且运行时出错!
ArrayList<String> collection2=new ArrayList<String>();
//collection2.add(1);
//collection2.add(1L);
collection2.add("abc");
String element=collection2.get(1);//不需要再进行强制类型转换
}
}
集合被泛型限定为特定类型,集合中只能存储同一种对象。
ArrayList collection=new ArrayList();
collection.add(1);
collection.add(1L);
collection.add("abc");
int i=(Integer)arrayList.get(1);//编译要强制类型转换且运行时出错!
jdk1.5的集合类希望你在定义集合时,明确表示你要向集合中装哪种类型的数据,无法加入指定类型以外的数据
ArrayList<Integer> collection2=new ArrayList<Integer>();
collection2.add(1);
/*collection2.add(1L);
collection2.add("abc");*/
int i2=collection2.get(0);//不需要再进行类型转换
泛型是提供给javac编译器使用的,可以限定集合中的输入类型,让编译器挡住源程序中的非法输入,编译器编译带类型说明的集合时会去除掉"类型"说明/**
*@Package:laladin.learn
*@Project:javaLearn
*@Title:GenericTest.java
*@Description:TODO
*@author Topdog topdog@163.com
*@date 2011-7-10上午09:17:22
*@version v1.0
*/
package laladin.learn;
import java.util.ArrayList;
/**
* @ClassName:GenericTest
* @Description TODO
* @date 2011-7-10
*/
public class GenericTest {
/**
* @Title:main
* @Description:TODO
* @Param:@param args
* @Return:void
* @throws
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList collection1=new ArrayList();
collection1.add(1);
collection1.add(1L);
collection1.add("abc");
int i=(Integer)collection1.get(1);//编译要强制类型转换且运行时出错!
ArrayList<String> collection2=new ArrayList<String>();
//collection2.add(1);
//collection2.add(1L);
collection2.add("abc");
String element=collection2.get(1);//不需要再进行强制类型转换
}
}
集合被泛型限定为特定类型,集合中只能存储同一种对象。
相关文章推荐
- 黑马程序员——JDK1.5的新特性之泛型
- 黑马程序员_集合2(HashSet,TreeSet,JDK1.5新特性泛型)
- 黑马程序员——java编程那些事儿____jdk1.5新特性 泛型
- 黑马程序员——Java高新技术——JDK1.5版本的新特性泛型
- 黑马程序员————java基础--------JDK1.5新特性之泛型、自动拆装箱、增强for、静态导入、可变参数
- 黑马程序员-----------JdK1.5新特性(二)--泛型
- 黑马程序员_JDk1.5新特性之_泛型
- 【黑马程序员】jdk1.5的新特性------------泛型加强
- 黑马程序员----JDK1.5新特性-泛型
- 黑马程序员_泛型等其他JDK1.5新特性
- 黑马程序员-----程序员之路_____JDK1.5新特性之泛型
- 黑马程序员面试题集合1(ArrayList,LinkedList,Vector,Iterator,ListIterator,HashSet,TreeSet,JDK1.5新特性泛型)
- 黑马程序员_集合2_(HashSet、TreeSet、JDK1.5新特性泛型)
- 黑马程序员-java基础加强-JDK1.5新特性-泛型
- 黑马程序员________Java集合Map及其JDK1.5新特性泛型机制的学习笔记
- 黑马程序员---java基础加强---jdk1.5新特性之泛型
- 黑马程序员——jdk1.5新特性(泛型)
- 黑马程序员-----JDK1.5新特性-泛型总结*
- 黑马程序员---JDK1.5新特性——泛型(重点)
- 黑马程序员---Java基础加强---JDK1.5新特性:泛型