调整数组大小

Mat*_*ewK 5 java arrays generics

如果这是一个常规数组,我可以创建一个新数组然后进行arraycopy,但泛型不会让我这样做.到目前为止,我提出的最好的事情是:

public void resize() {
    T[] tempArray = Arrays.copyOf(myArray,myArray.length*3);
}
Run Code Online (Sandbox Code Playgroud)

它编译,但在运行时,我得到一个空指针异常.谁能解释我做错了什么?

rat*_*eak 6

你可以Arrays.copyOf(myArray,myArray.length*3)用来制作副本

我的猜测是myArray[0]null,所以myArray[0].getClass()抛出nullpointer

如果您需要可以使用的组件的运行时类型 myArray.getClass().getComponentType()