クラスの 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 に答える