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>();  

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

技术教程推荐

Java核心技术面试精讲 -〔杨晓峰〕

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

接口测试入门课 -〔陈磊〕

Serverless入门课 -〔蒲松洋(秦粤)〕

To B市场品牌实战课 -〔曹林〕

流程型组织15讲 -〔蒋伟良〕

攻克视频技术 -〔李江〕

去无方向的信 -〔小麥〕

超级访谈:对话玉伯 -〔玉伯〕

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