Java泛型
之前面试和这两天用到泛型解决了一些问题,才发现自己对泛型的了解只停留用的时候会想起来一点点....没有真正的准确梳理泛型,所以想写一写总结一下自己对泛型对理解 1、代码用泛型的好处 在写代码的时候经常不同数据类型,而泛型可以统一数据类型,便于操作。 将运行时的异常提前到了编译时,提高了效率(在jdk1.5中引入了新特性,泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法类型)。 避免了强制类型转换。 实现代码到模版化,把数据类型当作参数传递,提高了可重用性。 2、泛型 泛型,其实是"参数化类型"。泛型的本质是 参数化类型 (在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。换句话说在泛型使用过程中,操作数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别成为泛型类,泛型参数,泛型方法。 在jdk 1.5之前,没有泛型的情况下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,这种转换需要开发者对实际参数类型可以预知的情况下进行。对于强制类型转换错误的情况,编译气可能不提示错误,在运行的时候才出现异常。这时候泛型的好处就体现出来,使用泛型就可以首先通过IDE进行代码类型初步检测,然后在编译阶段进行编译类型检查,保证了类型转换的安全性;并且所有的强制转换都是自动和隐式的