gpt4 book ai didi

java - 在 Java 中创建泛型数组

转载 作者:搜寻专家 更新时间:2023-11-01 01:19:25 25 4
gpt4 key购买 nike

public K[] toArray()
{
K[] result = (K[])new Object[this.size()];
int index = 0;
for(K k : this)
result[index++] = k;
return result;
}

这段代码好像不行,会抛出异常:

java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to ...

有人能告诉我如何创建具有通用类型的数组吗?谢谢。

最佳答案

你不能:你必须将类作为参数传递:

public <K> K[] toArray(Class<K> clazz)
{
K[] result = (K[])Array.newInstance(clazz,this.size());
int index = 0;
for(K k : this)
result[index++] = k;
return result;
}

关于java - 在 Java 中创建泛型数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4013683/

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