У меня есть эти 3 класса
public class Box<O> {
public O getItem() {...}
}
public class CoolBox extends Box<Integer> { ... }
public class AmazingBox extends CoolBox { ... }
В какой-то момент в моем коде мне нужно получить тип возврата метода getItem()
для класса AmazingBox
,но когда я получаю доступ к его методам через отражение, я получаю Object
в качестве возвращаемого типа вместо Integer
.
Есть ли способ (обычные java или дополнительные библиотеки) получить Integer
в качестве возвращаемого типа?
Это код, который я использовал для получения типа возвращаемого значения:
Class<?> c = AmazingBox.class; // This is not how i get the class but its for demonstration purposes
Method m = c.getMethod("getItem");
Type t = m.getReturnType();