gpt4 book ai didi

Java - 如何在模板类的构造函数中初始化包含 T 类型项目的数组?

转载 作者:行者123 更新时间:2023-12-02 01:20:50 24 4
gpt4 key购买 nike

搜索这个只能在 C++ 中找到答案,我已经很了解它了,但是我如何在 Java 中做到这一点?我找到的答案表明我需要执行以下操作:

class FixedArray<T> {

public FixedArray(byte size) {
array = new T[size];
}

private T[] array;
}

...但我收到错误

Type parameter 'T' cannot be instantiated directly

最佳答案

实际上T并不是任何数据类型,而只是Generics的代表,因此您需要初始化一个通用的Object[]数组并进行强制转换它为通用类型T

试试这个:

class FixedArray<T> {
public FixedArray(byte size) {
array = (T[]) new Object[size];
}

private T[] array;
}

例如,您需要有一个整数数组,它将相当于:

Integer[] array = (Integer[]) new Object[size];

关于Java - 如何在模板类的构造函数中初始化包含 T 类型项目的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57739046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com