目前,我正在查看 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)
谁能告诉我它们之间的区别?非常感谢。