泛型的使用形式有两种:
1、泛型类/泛型接口
2、泛型方法
一、泛型类/接口
下面先来看下 JDK1.5改写后的 ArrayList 类、Iterator 接口、Map的代码片段。
从上面的代码中,可以看出在定义接口、类时指定类型形参,如上面的E、K、V。
当使用这些集合时,就可以为E、K、V指定具体的类型实参。
Demo:
1 import java.util.HashMap;
2 import java.util.Iterator;
3 import java.util.Set;
4
5 public class TestHashMap {
6 public static void main(String[] args) {
7 HashMap<Integer,String> map = new HashMap<Integer,String>();
8 map.put(1, "Hello");
9 map.put(2, "World");
10 Set<Integer> keySet = map.keySet();
11 Iterator<Integer> iter = keySet.iterator();
12 while(iter.hasNext()){
13 Integer key = iter.next();
14 System.out.println(key + "->" + map.get(key));
15 }
16 }
17 }
1、如何定义泛型类、接口
我们可以为任何类和接口增加泛型声明,并不是只有集合类才可以使用泛型声明。
泛型形参的命名一般使用单个的大写字母,如果有多个类型形参,那么使用逗号分隔。
语法格式:
【修饰符】 class 类名<泛型形参列表>{}
【修饰符】 interface 接口名<泛型形参列表>{}