Java 泛型类型变量作为数组类型



在学习Java泛型时,我在Java Docs中找到了这样一句话:

类型

变量可以是指定的任何非基元类型:任何类 类型、任何接口类型、任何数组类型,甚至其他类型 变量。

他们所说的array type是指原始数组还是数组列表?如果他们的意思是原始数组,我们应该如何编码?

像这样:

public class Test {
    static void main(String[] asdf) {
        Asdf<int[]> obj = new Asdf<int[]>();
        obj.foo();
    }
}
class Asdf<T> {
    public void foo() { }
}

Java 为每个数组类型都有一个类,所以有一个用于 int[] 的类,有一个用于 Test[] 的类。这些类由 JVM 创建。

您可以通过以下方式访问它们

int[].class
Test[].class. 

最新更新