Возможно ли передать объект в Java на комбинированный общий тип?
У меня есть метод вроде:
public static <T extends Foo & Bar> void doSomething(T object) {
//do stuff
}
Вызов этого метода не проблема, если у меня есть класс, который реализует оба интерфейса (Foo и Bar).
Проблема заключается в том, когда мне нужно вызвать этот метод, объект, который мне нужно передать, получен как java.lang.Object
, и мне нужно отдать его, чтобы сделать компилятор счастливым. Но я не могу понять, как это сделать.
изменить:
Проблема заключается в такой функции:
public void problemFunction (Object o) {
if ( o instanceof Foo && o instanceof Bar) {
doSomething((Problematic cast) o);
}
}
}