泛型

来源:互联网 发布:淘宝图片轮播代码 编辑:程序博客网 时间:2024/05/19 17:48

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);}}}







0 0
原创粉丝点击