如何获取静态[]数组的源类

nul*_*r76 1 java arrays static

我想要来自静态数组的基础类。例如,如果它说String[].class我想得到String.class

    String[] foo = new String[0];
    System.out.println(foo.getClass());
Run Code Online (Sandbox Code Playgroud)

输出

class [Ljava.lang.String;
Run Code Online (Sandbox Code Playgroud)

Lin*_*ica 6

使用Class#getComponentType()

Class<?> type = foo.getClass().getComponentType();
System.out.println(type); // class java.lang.String
Run Code Online (Sandbox Code Playgroud)

文档

返回表示数组组件类型的类。如果此类不代表数组类,则此方法返回 null。