Рассмотрим следующие классы:
class A {
B<Integer> b;
}
class B<T> {
T t;
}
Мне нужно написать следующий метод:
Object create(Class clazz) {
// todo
}
, чтобы при вызове create(A.class)
возвращаемое значение было экземпляром A, который содержит целое число в b.t
. Естественно, у метода не должно быть никаких знаний о A
, кроме его класса.
Хорошо известно, как выяснить, что тип b
в A
равен B<Integer>
.
Я ищу способ узнать, что поле t
в B
предназначено для типа первого параметра типа B
.