gpt4 book ai didi

java - 如何调用需要 Class 对象作为参数的方法?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:15:24 26 4
gpt4 key购买 nike

我有一个类,我需要构造函数来初始化变量数组。我在互联网上进行了研究,也研究了堆栈溢出,但现在我对如何调用该方法感到困惑。例如,我如何在示例中调用 method1?

public class SomeClass<T>{

public T[] array;

//Constructor
public SomeClass()
{
Method1(T, 5); //? error
Method1(5); //? error
Method1(new T().GetType(), 5); //? error
// HOW CAN I CALL THAT METHOD?

array = (T[])(new Object[5]); // this gives an error too
}

private void Method1(Class<T> type, int size)
{
array = (T[])Array.newInstance(type, size);
}
}

最佳答案

试试这个:

class SomeClass<T> {

private T[] array;

@SuppressWarnings("unchecked")
public SomeClass(Class<T> klass, int size) {
array = (T[]) Array.newInstance(klass, size);
}

}

并实例化它:

SomeClass<Integer> example = new SomeClass<Integer>(Integer.class, 10);

请注意,实例化的数组是一个对象数组,它的所有元素都将是null,直到您显式分配它们。

关于java - 如何调用需要 Class<T> 对象作为参数的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8460981/

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