Jarファイルのクラスを介在して抽象クラス以外のクラスを探したいと思います。私はクラスをインスタンス化し、InstantiationExceptionをトラップすることでこれを解決できますが、クラスによっては重い起動があるため、パフォーマンスが低下します。私はClass.javaのドキュメントでisAbstract()のようなものは明らかに見つかりません。Javaクラスがリフレクトで抽象クラスであるかどうかを調べるにはどうすればいいですか
152
A
答えて
261
クラスオブジェクトでgetModifiers()を呼び出すと、修飾子の1つとしてabstractが使用されます。
このlinkが役立ちます。また
Modifier.isAbstract(someClass.getModifiers());
:
http://java.sun.com/javase/6/docs/api/java/lang/reflect/Modifier.html
http://java.sun.com/javase/6/docs/api/java/lang/Class.html#getModifiers()
28
Class myClass = myJar.load("classname");
bool test = Modifier.isAbstract(myClass.getModifiers());
+0
また、セスは言った。 :) – Stobor
0
public static boolean isInstantiable(Class<?> clz) {
if(clz.isPrimitive() || Modifier.isAbstract(clz.getModifiers()) ||clz.isInterface() || clz.isArray() || String.class.getName().equals(clz.getName()) || Integer.class.getName().equals(clz.getName())){
return false;
}
return true;
}
+0
インターフェイスであり、クラス名がjava.util.Listの場合ArrayList –
関連する問題
- 1. ITypeが抽象クラスであるかどうかを調べる方法
- 2. クラスにDataContract属性があるかどうかを調べるにはどうすればいいですか?
- 3. Python 3でクラスが抽象クラスであるかどうかを調べる方法は?
- 4. リフレクトを使用して抽象親クラスのインスタンスフィールドにアクセスするにはどうすればよいですか?
- 5. 抽象クラスからクラスの変数を取得するにはどうすればよいですか?
- 6. 抽象クラスの抽象メンバを正しく処分するにはどうすればよいですか?
- 7. Javaの抽象クラスからプライベートフィールドを変更するにはどうすればよいですか?
- 8. 抽象クラス内にネストされたクラスのメソッドにアクセスするにはどうすればよいですか?
- 9. Javaはクラス抽象クラスですか?
- 10. クラス図で抽象クラスBroadcastReceiverなどの外部パッケージのクラスから継承するクラスを描画するにはどうすればよいですか?
- 11. リフレクトで抽象基底クラスからコンストラクタにアクセスする
- 12. 入れ子抽象クラスでGSONを扱うにはどうすればいいですか?
- 13. Flash 9:ストリーミングトラックがモノであるかどうかを調べるにはどうすればよいですか?
- 14. androidアクティビティのクラスで抽象メソッドを使用するにはどうすればいいですか?
- 15. クラスがスレッドセーフであるかどうかをタグ付けするにはどうすればよいですか?
- 16. コントロールがタブコントロール上にあるかどうかを調べるにはどうすればよいですか?
- 17. WPFアプリケーションでフォーカスがどこにあるのかを調べるにはどうすればいいですか?
- 18. オペレータ抽象クラスでの削除、動作はどうですか
- 19. この抽象クラスからサブクラスを作成するにはどうすればよいですか? Vtable Error
- 20. オブジェクトがクラスのインスタンスではなくクラスオブジェクトであるかどうか調べる
- 21. CI_Controller built_inクラスとは何ですか?それは抽象的であるかどうかにかかわらず?
- 22. argvがcharで終わるかどうかを調べるにはどうすればいいですか?
- 23. クロージャがバインドされているオブジェクトのクラス名を調べるにはどうすればよいですか?
- 24. php子クラスでメソッドがオーバーライドされているかどうかを調べる
- 25. ASP.NETでパネル/クラスを並べるにはどうすればいいですか?
- 26. アクティビティで抽象クラスを拡張するにはどうすればよいですか?
- 27. 抽象クラスを構造化するにはどうすればいいですか?
- 28. Javaクラスをロードせずに調べるにはどうすればよいですか?
- 29. msiがタイムスタンプされているかどうかを調べるにはどうすればよいですか?
- 30. Rubyでは、メソッドがどのクラスにあるかを知るにはどうすればいいですか?
ありがとう!ちょっとした注意:変数名として "class"を使うことはできません。あなたの例を変更したいかもしれません。 –