小编myc*_*int的帖子

将对象数组转换为通用数组

目前,我正在查看 java.util.ArrayList 的源代码。现在我发现函数public void ensureCapacity(int minCapacity)将一个对象数组转换为一个通用数组,就像下面的代码:

 E[] newData = (E[]) new Object[Math.max(current * 2, minCapacity)];
Run Code Online (Sandbox Code Playgroud)

但是,当我将数组声明为特定类型时,IDE 将显示错误。

Object[] arr = new Object[10];
    int[] arr1 = (int[]) new Object[arr.length];
Run Code Online (Sandbox Code Playgroud)

谁能告诉我它们之间的区别?非常感谢。

java generics arraylist typecasting-operator

5
推荐指数
1
解决办法
2868
查看次数

标签 统计

arraylist ×1

generics ×1

java ×1

typecasting-operator ×1