Java中的类型擦除


为了支持泛型编程并执行更严格的类型检查,Java 实现了类型擦除。

  • 泛型类型中的所有类型参数都由界定符(如果未界定)或对象类型替换。这样,字节码将只包含类、方法和接口。

  • 类型强制转换为保留类型。

  • 桥接方法是为了保留扩展泛型类型中的多态性概念而生成的。

示例

 在线演示

import java.io.PrintStream;
import java.util.*;
public class Demo{
   public Demo(){
   }
   public static void main(String args[]){
      List my_list = new ArrayList();
      my_list.add("Hi there");
      String my_str;
      for (Iterator iter = my_list.iterator(); iter.hasNext();
         System.out.println(my_str))
      my_str = (String)iter.next();
   }
}

输出

Hi there

Demo 类包含一个构造函数,该函数基本没有在其内部定义的主体。在主函数中,将创建一个新的数组列表,并使用 ‘add’ 函数向其中添加元素。 定义了一个迭代器,以及一个字符串。迭代器使用检查是否有元素并随后移至该元素的 ‘hasNext’ 函数来迭代字符串中的元素。输出将打印在屏幕上。

更新于: 17-Aug-2020

120 次观看

开启你的职业生涯

完成课程获得认证

开始
广告