import java.util.GregorianCalendar;
import java.util.Iterator;
import java.util.LinkedList;
public class GenericMethodDemo {
/**
* 泛型方法演示
*/
public static void main(String[] args) {
ArrayList<Integer> integerList = new ArrayList<Integer>();
integerList.add(2);
integerList.add(3);
print(integerList);
LinkedList<Date> dateList = new LinkedList<Date>();
dateList.add(new Date());
dateList.add((new GregorianCalendar()).getTime());
GenericMethodDemo.<Date>print(dateList);
}
public static <E> void print(Collection<E> collection) {
Iterator<E> iter = collection.iterator();
while(iter.hasNext()) {
System.out.println(iter.next() + " ");
}
System.out.println();
}
}
///
print方法被定义成泛型方法。书上说要用GenericMethodDemo.<Date>print(dateList);这种方式调用,但测试中把<Date>去掉也没问题,难道是1.5和1.6的区别么,1.5是必须的么,不知道了。总之泛型在这里还是提供了至少两个好处:
1.将运行时异常化为编译错误。
2.泛型方法使得方法参数类型的匹配更灵活,而不要求类型转换。