J'interagis à travers les classes dans un fichier Jar et je souhaite trouver celles qui ne sont pas abstraites. Je peux résoudre cela en instanciant les classes et en piégeant InstantiationException, mais cela a un impact négatif sur les performances car certaines classes ont un démarrage important. Je ne trouve évidemment rien comme isAbstract () dans la documentation Class.java.
190
Modifier.isAbstract( someClass.class.getModifiers() );
peut-être que vous voulez changer celasomeClass.getModifiers()
ouSomeClass.class.getModifiers()
oùClass<SomeClass> someClass = SomeClass.class;
Class myClass = myJar.load("classname"); bool test = Modifier.isAbstract(myClass.getModifiers());
la source
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; }
la source