我有一个类的 IType 对象。我想知道该类是否是抽象类。IType 或 ICompilationUnit 中是否有任何方法可以确定相同的(反射除外)。
问问题
1284 次
4 回答
9
IType type = ...;
boolean isAbstract = Flags.isAbstract(type.getFlags());
于 2013-03-13T13:59:02.120 回答
1
您可以获取 IType 的完全限定名称(可能使用 IType.getTypeQualifiedName()),然后在该名称上使用 Class.forName() 来获取 Class 对象,然后按照其他人的建议使用 Modifier.isAbstract()。
Java 的 Class 对象是反射套件的一部分,所以这种方式仍然有点使用反射......
于 2013-03-13T09:07:40.737 回答
0
Class clazz = IType.class;
Modifier.isAbstract(clazz.getModifiers())
于 2013-03-13T06:42:56.857 回答
0
添加以下导入:
import java.lang.reflect.Modifier;
然后使用以下方法对其进行测试:
if(Modifier.isAbstract(IType.class.getModifiers()))
//do something...
于 2013-03-13T06:44:29.600 回答