Я уверен, что это элементарно, но я в тупике.Пример сильно упрощен, но сводится к следующему.У меня есть некоторые перегруженные методы в классе, например:
public void build(MyImplOneOfAnInterface item);
public void build(MyImplTwoOfAnInterface item);
Затем у меня есть другой метод, который выполняет следующее:
public void buildIt(MyInterface item) {
build(item);
}
Когда я пытаюсь скомпилировать, я получаю следующую ошибку:
не может найти символ
Это связано с тем, что JVM не может определить реализацию интерфейса во время компиляции, чтобы она знала, какой перегруженный метод вызывать.
Как это можно решить во время выполнения?Кажется, что JVM должна быть в состоянии понять это.
PS: я не хочу определять метод, который принимает интерфейс в качестве аргумента, а затем выполняет несколько операторов if / else с использованием операторов instanceof.