java - 调整数组大小

标签 java arrays generics

如果这是一个常规数组,我可以创建一个新数组然后进行数组复制,但泛型不允许我这样做。到目前为止,我想到的最好的事情是:

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

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

最佳答案

您可以使用 Arrays.copyOf(myArray,myArray.length*3) 进行复制

我的猜测是 myArray[0] 为空,所以 myArray[0].getClass() 抛出空指针

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

关于java - 调整数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7313628/

相关文章:

generics - 具有多种类型的边界

generics - 将泛型参数与 impl 的另一个泛型参数匹配

java - Spring Security OAuth2 撤销 token 不起作用

java - 有没有提供第三方 java 库列表的网站?

时间:2019-03-17 标签:c#Reflectionobject[]issue

javascript - Jquery:元素数组的事件监听器

java - 如何为 Android SwitchPreference 添加背景颜色?

Java ". "运算符及其真正的作用是什么?

javascript - 如何用另一个数组从一个数组中减去多个对象

java - 使用 Guice 在对象图中构建特定类