了解泛型的类型擦除吗?

打印 上一主题 下一主题

主题 890|帖子 890|积分 2670

概念

Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许步伐员在编译时检测到非法的类型。
泛型的本质是参数化类型,即给类型指定一个参数,然后在使用时再指定此参数详细的值,那样这个类型就可以在使用时决定了。这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。
优点


  • 在编译的时间检查类型安全;使用泛型可以在编译时期进行类型检查,从而避免在运行时期发生类型错误。泛型可以在编译时期捕捉错误,从而提高了步伐的稳定性和可靠性。
  • 避免了源代码中的许多强制类型转换,增长可读性;使用泛型可以使代码更加可读、清晰。通过泛型,可以更好地表达代码的意图,避免了使用Object等不具有明确含义的类型。
  • 提高了代码的重用性;可以在不改变代码的情况下创建多个不同类型的对象。比方,使用List可以创建不同类型的列表,而不需要为每种类型编写不同的代码。
只在编译阶段作用

如下:
[code]List list = new ArrayList();list.add("1");list.add("seven");Class 都会被更换成Object。</p>有限制类型擦除

当类定义中的参数类型存在上下限(上下界),那么在类型擦除后就会被更换成类型参数所定义的上界或者下界,
<ul>比方
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊雷无声

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表