首页 > 学院 > 开发设计 > 正文

泛型

2019-11-06 07:37:40
字体:
来源:转载
供稿:网友

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表