----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
JDK1.5新特性:泛型
初级部分:
1、在集合中不使用泛型操作
2、在集合中使用泛型操作:
ArrayList<String> collection2 =new ArrayList<String>();
//collection2.add(1); //错误的代码,只能添加String类型数据。
collection2.add("abc"); //正确添加
String str = collection2.get(0); //读取数据时不需要强制类型转换。
3、在反射中应用泛型:
1、泛型对类的约束只在javac编译器进行编译时起作用,编译完成后,类字节码中不再带有泛型类型。
整个称为ArrayList<E> 泛型类型
ArrayList<E> 中的 E 称为类型变量或类型参数
ArrayList<Integer> 称为 参数化的类型
ArrayList<Integer> 中的 Integer 称为类型参数的实例 或 实际类型参数
ArrayList<Integer> 中的 <> 可念成 type of
ArrayList 称为 原始类型
3、参数化类型与原始类型的兼容性:
参数化类型可以引用一个原始类型的对象,编译报警告
Collection<String> c=new vector();//可不可以就是编译器的问题。因为编译后两个类型是兼容的
原始类型可以引用一个参数化类型的对象编译报告警告
Collection c = new Vector<String>();
4、参数化类型不考虑类型的继承关系
Vector<String> v = new Vector<Object>(); //错误
Vector<Object> v = new Vector<String>(); //也是错误的
/***
Vector v1=new Vector<String>();
Vector<Object> v=v1;
----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ----------------------
详情请查看: