java.lang.Class には、指定された型が次のとおりかどうかをテストするメソッドがあります。
- is注釈
- isArray
- isEnum
- isInterface
- isPrimitive
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 メソッドをテストして、それがクラスではないことを確認することです。