/** * @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