JDK1.5泛型
在定义集合的时候同时定义集合中对象的类型
增强程序的可读性和稳定性
能把问题提前暴露在编译之前,让编译器发现,这样可以降低程序出错率
//interface Map定义了存储key -- value 映射对,使用put方法添加数据
//JDK1.5之后支持自动打包和解包
public class HashMapDemo {
public static void main(String[] args) {
HashMap hashMap = new HashMap();
//自动将基础类型转换为对象,1实际上传递的还是Object
hashMap.put("obj1", 1);
//将得到的Object对象强制转换为Integer对象
int obj1 = (Integer) hashMap.get("obj1");
System.out.println(obj1);
}
}
如果利用泛型,则获取hashMap里面的值也不用强制类型转换了,简化的代码的难以程度
public class FanxingBianli {
//泛型遍历
public static void main(String[] args) {
List<String> arrayList = new ArrayList<String>();
arrayList.add("aaa");
arrayList.add("bbb");
arrayList.add("ccc");
//使用JDK1.5遍历
for(String temp : arrayList){
System.out.println(temp);
}
//interface Iterator用来遍历Collection
System.out.println("use Iterator");
Iterator it = arrayList.iterator();
while(it.hasNext()){
String temp = (String)it.next();
System.out.println(temp);
}
System.out.println("use Iterator 泛型");
Iterator<String> iterator = arrayList.iterator();
while(iterator.hasNext()){
//不需要将获得的对象转换为String对象
String temp = iterator.next();
System.out.println(temp);
}
}
}