Est-il un moyen de savoir si un Champ est de type boolean le même que isPrimitive()?
Est-il un moyen de savoir si un Champ est boolean
en Java réflexion le même que isPrimitive()
?
Field fieldlist[] = clazz.getDeclaredFields();
for (int i = 0; fieldlist.length & gt; i; i++) {
Field fld = fieldlist[i];
if (fld.getClass().isPrimitive()) {
fld.setInt(object, 0);
continue;
}
}
Vous devez vous connecter pour publier un commentaire.
Viens de tester et ça marche pour des primitifs
boolean
variables.Je crois
Boolean.class.isAssignableFrom(fld.getClass())
peut être utilisé pour déterminer si le champ est de type boolean. Je n'ai pas eu la chance de tester si cela fonctionne pour les primitives si.boolean.class
qui couvre les primitives (à partir de Java 6 en avant je pense). Vous pouvez combiner les deuxBoolean.class.isAssignableFrom(fld.getClass()) || boolean.class.isAssignableFrom(fld.getClass())
. Je n'ai pas une IDE distributeur automatique de billets bien.Essayez ceci (référence):
C'est pour des primitifs et objet: