泛型浅析

来源:互联网 发布:淘宝店铺诊断分析报告 编辑:程序博客网 时间:2024/06/13 00:17

转载:http://www.2cto.com/kf/201211/169210.html


1.泛型概念

泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。可以在集合框架(Collection framework)中看到泛型的动机。


2.泛型简单使用

class Name<H>{public void getClassName(H c){System.out.println(c.getClass().getName());}}@org.junit.Testpublic void testGeneric(){//自定义泛型new Name<String>().getClassName("2");//使用泛型Map<String, String> map1=new HashMap<String, String>();map1.put("1", "1");map1.put("2", "2");String s1=map1.get("1");//未使用泛型Map map2=new HashMap();map2.put("1", "1");map2.put("1", "1");String s2=(String) map2.get("1");//编译器自动识别List<Integer> list=new ArrayList<Integer>();list.add(1);list.add(2);List<?> l=list;System.out.println(l.size());//2}

3.泛型好处

消除强制类型转换。 泛型的一个附带好处是,消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会。