gpt4 book ai didi

java - 为什么在外部参数化类中创建一个数组,其组件类型是内部类,被视为 "Generic array creation"?

转载 作者:行者123 更新时间:2023-12-02 01:43:11 25 4
gpt4 key购买 nike

public class A<T> {
B[] bs = new B[5];

private class B {

}
}

我收到一个编译时错误,指出 new B[5] 是通用数组创建。我没想到会这样,因为:

  1. B 本身没有参数化。
  2. B 不是 A 的类型参数。

考虑到这些原因,为什么 new B[5] 仍然被视为通用数组创建?

最佳答案

因为创建 B 实例(因为它是内部类)的唯一方法是使用参数化 A 的实例。简单修复,更改

private class B

private static class B

关于java - 为什么在外部参数化类中创建一个数组,其组件类型是内部类,被视为 "Generic array creation"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54139695/

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