Java泛型不允许数组

Java泛型不允许数组 首页 / 泛型入门教程 / Java泛型不允许数组

不允许使用参数化类型的数组。

//无法创建 Box<Integer> 的通用数组
Box<Integer>[] arrayOfLists = new Box<Integer>[2]; 

由于编译器使用类型擦除,因此将type参数替换为对象,并且用户可以将任何类型的对象添加到数组中。并且在运行时,代码将无法引发ArrayStoreException。

//编译器错误,但如果允许
Object[] stringBoxes = new Box<String>[];
  
//OK
stringBoxes[0] = new Box<String>();  

//An ArrayStoreException should be thrown,
//but the runtime can't detect it.
stringBoxes[1] = new Box<Integer>();  

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

教程推荐

结构会议力 -〔李忠秋〕

物联网开发实战 -〔郭朝斌〕

乔新亮的CTO成长复盘 -〔乔新亮〕

系统性能调优必知必会 -〔陶辉〕

小马哥讲Spring核心编程思想 -〔小马哥〕

JavaScript核心原理解析 -〔周爱民〕

全栈工程师修炼指南 -〔熊燚(四火)〕

研发效率破局之道 -〔葛俊〕

朱赟的技术管理课 -〔朱赟〕

好记忆不如烂笔头。留下您的足迹吧 :)