第七章 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; } } }