查看代码
Integer[] array = (Integer[]) new Object[size];
这显然行不通,我完全理解。
但为什么泛型有效?
T[] array = (T[]) new Object[size];
如果 T 是 Integer 类,那么在该行之后数组将是 Object[] 类型,但为什么转换是可能的?不会抛出 ClassCastException?
最佳答案
but why with generics works?
这是因为通用版本被类型删除并编译为以下 -
Object[] array = new Object[size];
关于java - 对象数组到泛型数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25693204/