Я использую отражение для обхода членов поля класса, и мне нужно знать для подклассов List <>, каковы параметры универсального типа.
Учитывая поле, которое имеет тип, который являетсяподкласс List, как я могу в общих чертах сказать, что представляют собой параметры типа List <>?
Например:
class X<T> {
List<String> x1; // String
ArrayList<String> x2; // String
SubclassOfArrayListString x3; // String
List<?> x4; // error
List<T> x5; // error
}
class SubclassOfArrayListString extends ArrayList<String> {
// ...
}
ПРИМЕЧАНИЕ. Я добавил <T>
к X вышечтобы проиллюстрировать, что могут быть случаи, когда нет правильного ответа - это не имеет ничего общего с проблемой, за исключением того, что нужно учитывать при ответе.