第七章 13_泛型_一

第七章 13_泛型_1

鱼欲遇雨:每日都学习一点,持之以恒,天道酬勤!不能用电脑时,提前补上!(2012.8.31)


JDK1.5泛型

1   起因
          jdk1.4以前类型不明确
               装入集合的类型都被当做Object对待,从而失去自己的实际类型
               从集合中取出时往往需要转型,效率低,容易产生错误
2   解决办法
          在定义集合的时候同时定义集合中对象的类型
          示例:BasicGeneric.java
    可以再定义Collection的时候指定
    也可以在循环时用Iterator指定
3   好处:
          增强程序的可读性和稳定性


//  TestGeneric.java


import java.util.*;

public class BasicGeneric {
	public static void main(String args[]) {
		List<String> c = new ArrayList<String>();
		c.add("aaa");
		c.add("bbb");
		c.add("ccc");
		for(int i = 0; i < c.size(); i ++) {
			String s = c.get(i);             //泛型
			System.out.println(s);
		}

		Collection<String> s2 = new HashSet<String>();
		s2.add("aaa");
		s2.add("bbb");
		s2.add("ccc");
		for(Iterator<String> it = s2.iterator(); it.hasNext();) {
			String s = it.next();
			System.out.println(s);
		}
	}
}

class MyName implements Comparable<MyName> {
	int age;

	public int compareTo(MyName mn) {
		if(this.age > mn.age) {
			return 1;
		}else if (this.age < mn.age){
			return -1;
		}else {
			return 0;
		}
	}
}