gpt4 book ai didi

Java 通用数组运行时初始化错误

转载 作者:行者123 更新时间:2023-11-30 03:07:04 24 4
gpt4 key购买 nike

我已经创建了通用数组,但构造函数无法初始化该数组。当运行时程序抛出此异常时

 Exception in thread "main" java.lang.RuntimeException:
Uncompilable source code - generic array creation

如何正确初始化泛型数组。

class MyList<K,V>{
K[] k;
V[] v;
public MyList() {
k = new K[0];
v = new V[0];
}

public void add(K key, V val){
Object[] ob1 = new Object[k.length+1];
Object[] ob2 = new Object[v.length+1];

for (int i = 0; i < k.length; i++) {
ob1[i]=k[i];
ob2[i]=v[i];
}
ob1[k.length]=key;
ob2[v.length]=val;

k=(K[]) ob1;
v=(V[]) ob2;
}

public static void main(String[] args) {
MyList<Integer,Double> values = new MyList<>();
values.add(1,0.5);
}
}

为什么会出现这种情况,有解决办法吗?

最佳答案

您可以使用此构造函数

public MyList(K[] k, V[] v) {
this.k = k;
this.v = v;
}


public static void main(String[] args) {
MyList<Integer,Double> values = new MyList<>(new Integer[0], new Double[0]);
values.add(1,0.5);
}

这会起作用

关于Java 通用数组运行时初始化错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34511919/

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