了解泛型的类型擦除吗?
概念Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许步伐员在编译时检测到非法的类型。
泛型的本质是参数化类型,即给类型指定一个参数,然后在使用时再指定此参数详细的值,那样这个类型就可以在使用时决定了。这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。
优点
[*]在编译的时间检查类型安全;使用泛型可以在编译时期进行类型检查,从而避免在运行时期发生类型错误。泛型可以在编译时期捕捉错误,从而提高了步伐的稳定性和可靠性。
[*]避免了源代码中的许多强制类型转换,增长可读性;使用泛型可以使代码更加可读、清晰。通过泛型,可以更好地表达代码的意图,避免了使用Object等不具有明确含义的类型。
[*]提高了代码的重用性;可以在不改变代码的情况下创建多个不同类型的对象。比方,使用List可以创建不同类型的列表,而不需要为每种类型编写不同的代码。
只在编译阶段作用
如下:
List list = new ArrayList();list.add("1");list.add("seven");Class 都会被更换成Object。</p>有限制类型擦除
当类定义中的参数类型存在上下限(上下界),那么在类型擦除后就会被更换成类型参数所定义的上界或者下界,
<ul>比方
页:
[1]