Vous pouvez faire quelque chose comme ceci:
import java.lang.reflect.*;
public class Foo {
public static int one = 1;
public static int two = 2;
public static int three = 3;
public static void magicMethod(Class clz) throws Exception {
Field[] fields = clz.getFields();
System.out.println(""+fields);
for(Field field : fields) {
int modifiers = field.getModifiers();
if(! Modifier.isStatic(modifiers))
continue;
System.out.println("" + field.get(null));
}
}
public static void main(String[] args) throws Exception {
Foo.magicMethod(Foo.class);
}}
Il est important de noter, cependant, que les champs doivent être publics pour que cela fonctionne. Ce n'est pas exactement ce que vous avez demandé, mais il devrait être assez proche pour que vous puissiez le faire fonctionner pour ce dont vous avez besoin. Évidemment, cela ne fait aucune sorte de gestion des erreurs ou quoi que ce soit, alors vous devriez vous assurer que vous gérez toutes les erreurs ou les exceptions dans votre application réelle.
trop de questions regardent comme les devoirs ... –