java泛型的了解

2017-03-14     浏览次数:

 java泛型是jdk1.5引入的一个新特性,它是对java类型系统的一种扩展,可以把类型参数(如T, K, V ,E等)看作是参数化类型时指定的类型的一个占位符,这个类型参数可以代表String,Integer以及各个对象等。在引入泛型以后,原先的类型List,就可以扩展为List<String>,List<Integer>等更多的类型。

       在引入泛型前,如果我们想让类中的某方法支持多种数据类型,那么毫无疑问需要用重载的方式来实现,而引入泛型后,我们可以直接用泛型的方式来处理这样的问题。

public void tTest(String str);

public void tTest(Integer  i);

就可以直接用泛型来定义: public <T> void tTest(T t);

        那么引入泛型的好处也就显而易见啦,第一、  使用泛型在编译期间就能捕获相应的类型错误,不会到程序运行期间才会抛出那么多的类型转换异常,这样提高了程序的可靠性和安全性;第二、由于泛型规定了所有集合中所有元素具有相同的类型,就会消除不必要的类型转换,提高了程序的性能,增加了代码的可读性。

        java的泛型是在编译器这个层次来实现的,因为在从java文件编译成为class字节码文件时,相应的泛型就会被擦除,比如在java文件中定义了泛型List<String>或者List<Object>,在编译成为字节码文件后,就变成了List,jvm看到的只是List,这是就是所谓的类型擦除

*转载请注明出处,更多资料尽在 吾爱编程
返回吾爱编程首页