I wonder is there a way to get all private fields of some class in java and their type.
For example lets suppose I have a class
class SomeClass {
It is possible to obtain all fields with the method getDeclaredFields() of Class. Then you have to check the modifier of each fields to find the private ones:
List privateFields = new ArrayList<>();
Field[] allFields = SomeClass.class.getDeclaredFields();
for (Field field : allFields) {
if (Modifier.isPrivate(field.getModifiers())) {
privateFields.add(field);
}
}
Note that getDeclaredFields() will not return inherited fields.
Eventually, you get the type of the fields with the method Field.getType().