/**
* @author lautturi.com
* Java example: loop through all properties in java class
*/
import java.util.*;
import java.lang.reflect.*;
public class Lautturi {
static <T> void inspect(Class<T> klazz) {
Field[] fields = klazz.getDeclaredFields();
System.out.printf("%d fields:%n", fields.length);
for (Field field : fields) {
System.out.printf("%s %s %s%n",
Modifier.toString(field.getModifiers()),
field.getType().getSimpleName(),
field.getName()
);
}
}
public static void main(String[] args) {
inspect(String.class);
inspect(ArrayList.class);
}
}
output:
9 fields: private final byte[] value private final byte coder private int hash private static final long serialVersionUID static final boolean COMPACT_STRINGS private static final ObjectStreamField[] serialPersistentFields public static final Comparator CASE_INSENSITIVE_ORDER static final byte LATIN1 static final byte UTF16 7 fields: private static final long serialVersionUID private static final int DEFAULT_CAPACITY private static final Object[] EMPTY_ELEMENTDATA private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA transient Object[] elementData private int size private static final int MAX_ARRAY_SIZE