1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| public class Main {
static final class Toto {
final List<Integer> list = new ArrayList<>();
}
public static void main(String[] args) throws NoSuchFieldException {
final List<Integer> list = new ArrayList<>();
printClassInfo(list.getClass());
//
final Class sourceClass = Toto.class;
final Field field = sourceClass.getDeclaredField("list");
final Class fieldClass = field.getType();
printClassInfo(fieldClass);
System.out.println("======");
System.out.println(field.getGenericType());
}
private static void printClassInfo(final Class zeClass) {
System.out.println("--------------------------------------");
System.out.println(zeClass);
System.out.println("======");
System.out.println(zeClass.getGenericSuperclass());
System.out.println("======");
Arrays.stream(zeClass.getGenericInterfaces())
.forEach(System.out::println);
}
} |