为类获取类文字很容易:
String.class
但是如何获得数组类型的类对象?
这有效,但它很难看,可能不是编译时常量:
new byte[0].getClass()
我查看了JLS,但我发现的唯一一件事就是根据JLS定义,我称之为“类文字”并不是“文字”。
答案 0 :(得分:5)
即使对于数组类型,您仍然可以使用类文字。编译得很好。
Class<String[]> clazz = String[].class;
Class<byte[]> clazz2 = byte[].class;
类文字是一个表达式,由类的名称,接口,数组或基本类型或伪类型
void
组成,然后是&#39;。&#39;和令牌class
。
(大胆强调我的)
答案 1 :(得分:3)
您只需输入
即可Class<?> clazz = byte[].class;