java.lang.Class 具有测试给定类型是否为的方法:
- is注解
- 是数组
- isEnum
- 是接口
- 是原始的
但是如何测试 Class ( instanceof Class
is true
) 类型的对象表示已声明的非抽象类,而不是在接口、枚举、基元、数组等中。例如:
package org.acme;
public class ACME {
public ACME() {
}
public static void main(String[] args) {
Class clazz = Class.forName("org.acme.ACME");
// Expected I could use a clazz.isClass().
}
}
我一直在寻找 isClass 方法,但没有。
更新
我看到我的问题引起的混乱——而有些人得到了我的问题。
我做了一些进一步的研究,发现在 .NET
http://msdn.microsoft.com/en-us/library/system.type.isclass.aspx,
这是一个 isClass 成员,我在 java.lang.Class 中寻找类似的方法。
我现在知道,Java 中的等价物是测试所有其他 isXXX 方法以发现它不是一个类。