JDK1.5 泛型
◆起因:
JDK1.4以前类型不明确:
▶装入集合的类型都被当做 Object 对待,从而失去自己的实际类型。
▶从集合中取出时往往需要转型,效率低,容易产生错误。
◆解决办法:
在定义集合的时候同时定义集合中对象的类型
▶也可以在定义Collection 的时候指定
▶也可以在循环时用Iterator 指定
(都指定最好)
◆好处:
增强程序的可读性和稳定性
例:BasicGeneric.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> c2 = new HashSet<String>(); c2.add("aaa"); c2.add("bbb"); c2.add("ccc"); for(Iterator<String> it = c2.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; }修改之前的TestMap如下:
import java.util.*;public class TestMap2 { public static void main(String[] args) { Map<String,Integer> m1 = new HashMap<String,Integer>(); m1.put("one",1); m1.put("two",2); m1.put("three",3); System.out.println(m1.size()); System.out.println(m1.containsKey("one")); if(m1.containsKey("two")) { int i = m1.get("two"); System.out.println(i); } }}
新闻热点
疑难解答