Java 如何使Class.forName返回数组类型?
Java 如何使Class.forName返回数组类型?,java,reflection,Java,Reflection,Class.forName是否可能返回数组类型?现在,当我使用Class.forName(“byte[]”)时,它抛出NoClassFound异常 或者通常,如何从Type.class获取Type[].class public static void main(String[] args) { System.out.println(byte[].class.getName()); try { Class clazz = Class.forName("[B");
Class.forName
是否可能返回数组类型?现在,当我使用Class.forName(“byte[]”)时,它抛出NoClassFound
异常
或者通常,如何从Type.class
获取Type[].class
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();
}
}
字节[]。类的名称为“[B”
字节[]。类==clazz为真
[Ljava.lang.String;用于字符串[]
[Lpacket.to.YourClass;对于YourClass[]是否有办法获取基本类型的简称,如“B”、“I”等。Java中只有少数基本类型,您可以逐个检查。好的,这似乎是您遗漏尾随分号的唯一方法,它们应该是[Ljava.lang.String;
,Lpath.to.YourClass;
,等等。