浅谈对Java泛型这一特性的理解

Java泛型是在JavaSE 1.5之后所采用的新特性,目的在于简化Java语言,提高Java开发的安全性与实用性。其具体的含义在于将数据类型指定为参数,而无需对数据类型进行强制转换。避免在代码运行时,系统抛出异常。同时还可以在开发过程中,方便调用自己制定的类型。泛型这部分内容也是Java学习过程中的一个重点。在Java集合类框架部分,经常能够看到Java泛型的应用。

对泛型的进一步理解可以是:Java的泛型是一种编译泛型,在编译过程中对类型进行安全检查,而编译后实际运行时则没有必要特别强调泛型。对于初学者对这一点可将Java泛型简单理解为一种将因类型错误而引发的异常提前到编码阶段。如果开发者在错误的调用泛型类和方法时IDE则会报错,而不是程序运行时再报错。

由此可见泛型这一新特性本质是参数化类型,也就是说所操作的数据类型被指定为一个参数,这种类型变量可以用在类、接口和方法的创建中。它更像是一种便捷语法,能节省你某些Java类型转换上的工作,例如:

List box = new ArrayList();box.add(new Apple());

Apple apple =box.get(0);

在上述代码中,box是一个装有Apple对象的List。get方法返回一个Apple对象实例,这个过程不需要进行类型转换。

浅谈对Java泛型这一特性的理解

泛型的一大好处在于提供了程序的类型安全和向后兼容,唯一不足就是每次定义时都要写明泛型的类型,这样会使代码冗长,如果对泛型不熟悉,则会导致参数的类型出现错误,在Java的新特性中可通过编译器自动推断泛型的参数类型,从而提高了代码可读性。

Map map = new HashMap();

Map map = new HashMap<>();


分享到:


相關文章: