获取类的类文字很容易:
String.class
但是如何获取数组类型的类对象呢?
这可行,但很丑陋,而且可能不是编译时常量:
new byte[0].getClass()
我查看了 JLS,但我唯一发现的是,根据 JLS 定义,我所说的“类文字”并不是“文字”。
即使对于数组类型,您仍然可以使用类文字。这编译得很好。
Class<String[]> clazz = String[].class;
Class<byte[]> clazz2 = byte[].class;
JLS 第 15.8.2 节 http://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.8.2 states:
A 类字面量是一个由类名、接口名组成的表达式,array,或原始类型,或伪类型void
,后跟一个“.”和令牌class
.
(粗体强调我的)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)