gpt4 book ai didi

java - 为什么我不能创建一个泛型类型的内部类数组?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:52:36 24 4
gpt4 key购买 nike

以下代码给出了“通用数组创建”错误。

public class TestClass<K, V> {
Entry[] entry;

private TestClass() {
entry = new Entry[10]; // <--- this line gives generic array creation error
}

private class Entry {
public Entry() {

}
}
}

我想知道这是为什么,因为 Entry 类不是泛型类并且没有泛型类型的对象。

是因为内部类仍然可以访问泛型类型,即使它不使用任何泛型类型吗?这是我能想到的最好的办法,但如果是这样的话,我不明白为什么 Java 看不到它不使用泛型类型,因此它不是泛型类?

是的,我看过很多关于泛型类型数组的帖子,但是没有,我还没有找到一个关于内部类的帖子。

最佳答案

类型其实是TestClass<K, V>.Entry (是的,因为它是一个内部类)。您可以通过将其转换为嵌套静态类来解决此问题:

private static class Entry {
public Entry() {

}
}

关于java - 为什么我不能创建一个泛型类型的内部类数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31145359/

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