java - 如何创建新的 AnyType[] 数组?

标签 java arrays generics

在这种情况下,最佳做法是什么?我想要一个与原始数组具有相同类型和长度的未初始化数组。

public static <AnyType extends Comparable<? super AnyType>> void someFunction(AnyType[] someArray) {

    AnyType[] anotherArray = (AnyType[]) new Comparable[someArray.length];
     ...or...
    AnyType[] anotherArray = (AnyType[]) new Object[someArray.length];

    ...some other code...
}

谢谢, 炭黑

最佳答案

AnyType[] anotherArray = (AnyType[])java.lang.reflect.Array.newInstance(
      someArray.getClass().getComponentType(), someArray.length);

关于java - 如何创建新的 AnyType[] 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2664594/

相关文章:

java - 检索和设置 IntelliJ IDEA 插件开发的拆分窗口设置

java - 当我的应用程序处于纵向时使用横向相机

arrays - 一行中字符过多会导致 "Invalid form of array reference"错误?

c - 在二维数组中排列 Char

generics - 我对同一个类有两个 Kotlin 扩展方法,但是具有不同的通用签名并且编译器会提示

java - 基于 "pure Spring"的 servlet 是否具有像基于 CXF 的 WSDL 那样的端点 URL?

java - 按某些键值删除重复项

arrays - 下面的shell脚本中Badly Placed()的错误

Java 8 问题尝试在使用继承和泛型时添加 Function FunctionalInterface 调用

reactjs - 如何在功能组件中的 React props 中使用泛型?