Java中的类型擦除

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

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

  • Type强制转换以保留类型。

  • 生成桥接方法以便将多态概念保留为扩展的泛型类型。

示例

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的类包含一个构造函数,该构造函数内部基本上没有定义任何主体。在main函数中,将创建一个新的数组列表,并使用'add'函数将元素添加到其中。定义了迭代器,并定义了字符串。迭代器使用“ hasNext”函数遍历字符串中的元素,该函数检查是否存在元素,然后移至该元素。输出显示在屏幕上。

以上是 Java中的类型擦除 的全部内容, 来源链接: utcz.com/z/317124.html

回到顶部