У меня есть метод, который выглядит так
public static <T extends MyClass, X extends AnotherClass> List<T> (Class<T> aParameter, X anotherParameter)
Теперь, если AnotherClass является абстрактным классом, который НЕ имеет определенного getId, но каждый отдельный класс, расширяющий этот интерфейс, имеет. (Не спрашивайте меня, почему он разработан именно для этого, я не разрабатывал абстрактный класс, и мне не разрешено его изменять).
Как я могу сделать что-то подобное
anotherParameter.getId();
Я знаю, что должен привести его к классу, но затем мне нужно выполнить проверку экземпляра для каждого возможного класса, а затем выполнить его.
Итак, знайте, у меня есть что-то вроде:
if (anotherParameter instanceof SomeClass)
((SomeClass)anotherParameter).getId(); //This looks bad.
Можно ли применить это динамически? к любому другому параметру во время выполнения?.