У меня есть метод, который выглядит следующим образом
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.
Можно ли привести это динамически? К любому другому параметру во время выполнения?.