boxmoe_header_banner_img

Hello! 欢迎来到不如画七的空间!

加载中

文章导读

Java泛型为什么是语法糖


avatar
ensiezadi 2025年8月16日 55

Java的泛型实际上是一个语法糖,也就是运行的过程中 泛型数组实际上 的类型仍然是 Object ,这时候使用 List<String>.instanceof(List<Integer>)得到的结果是相同的。

  1. 在类型检查的过程中利用泛型的信息确保泛型的正确性;
  2. 在编译的过程中,泛型数组中的类型都是 Object , 将泛型的具体类型转换成强制转换之后的类型;

例如:

初始代码:

List<String> stringList = new ArrayList<>();
stringList.add("Hello");
// stringList.add(123); // 这行在编译时就会报错,类型不匹配
String message = stringList.get(0);

编译之后:

// 泛型信息 <String> 被擦除了
List stringList = new ArrayList(); 
stringList.add("Hello");
// stringList.add(123); // 如果没有泛型,这行在编译时不会报错
// 编译器在get的时候自动添加了强制类型转换
String message = (String) stringList.get(0);


评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字
插入代码
不如画七
2025 年 10 月
 123456
78910111213
14151617181920
21222324252627
282930