泛型和泛型擦除

152 阅读1分钟

泛型本质

泛型的本质是参数化类型,解决不确定对象具体问题的问题

泛型的好处

  1. 类型安全,不存在 ClassCastException。
  2. 提升可读性,编码阶段就显式知道泛型集合、泛型方法等处理的数据类型。
  3. 泛化代码,代码可以更多的重复利用

类型擦除

泛型用于编译阶段,编译后的字节码文件不包含泛型类型信息,因为虚拟机没有泛型类型对象,所有对象都属于普通类。例如定义 List<Object>List<String>,在编译后都会变成 List