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

时间:2013-03-16 14:19:13

标签: java reflection

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

或者一般来说,如何从Type[].class获取Type.class

1 个答案:

答案 0 :(得分: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();
    }
}

byte [] .class的名字是“[B”;

byte [] .class == clazz is true

[Ljava.lang.String; for String []

[Lpacket.to.YourClass; for YourClass []