如何使Class.forName返回数组类型?

img*_*gen 4 java reflection

是否有可能Class.forName返回数组类型?现在,当我使用Class.forName("byte[]")它时抛出NoClassFound异常.

或一般,如何让Type[].class来自Type.class?

Bla*_*ker 8

public static void main(String[] args) {
    System.out.println(byte[].class.getName());
    try {
        Class clazz = Class.forName("[B");
        System.out.println(byte[].class==clazz);
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

byte [] .class的名字是"[B";

byte [] .class == clazz为true

[Ljava.lang.String; for String []

[Lpacket.to.YourClass; for YourClass []

  • 你错过了尾随的分号,它们应该是`[Ljava.lang.String;`,`Lpath.to.YourClass;`等. (5认同)