Java 中的类型擦除

javaserver side programmingprogramming

为了支持泛型编程以及执行更严格的类型检查,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();
   }
}

输出

您好

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


相关文章