【问题标题】:Generic Array in Java the right way [duplicate]Java中的通用数组正确方法[重复]
【发布时间】:2018-03-13 12:24:23
【问题描述】:

如何在 java 中创建一个泛型数组,正确的方法?

T[] buffer = (T[]) new Object[maxSize];

创建一个新的通用集合然后进行转换会更好吗?

【问题讨论】:

  • 正确的方式。你是什​​么意思通用集合而不是转换它?

标签: java arrays generics


【解决方案1】:

只需声明一个通用列表:

List<T> list = new ArrayList<T>();

或查看答案here

【讨论】:

    【解决方案2】:

    像这样的

    final T[] a = (T[]) Array.newInstance(clazz, size);
    

    【讨论】:

      【解决方案3】:

      您可以使用 newInstance 方法提供 Array 类,但它需要 Class 类型。

      我看到的唯一解决方案是创建一个 Object 数组,然后将其转换为 T[]

      T[] array = (T[])Array.newInstance(Object.class, size); 
      

      【讨论】:

        猜你喜欢
        • 2014-01-15
        • 2015-09-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-02
        • 2011-04-15
        • 2014-01-27
        • 2021-11-23
        • 1970-01-01
        相关资源
        最近更新 更多