реализации Impl1, Impl2. Таких структур около десятка.
Как написать дженерик класс, который будет возвращать одну из реализаций в зависимости от условия?
Что-то вроде (синтаксически неверно):
public class SomeProvider <L implements S, N implements S> {
L impl1;
N impl2;
//constructor with both L,N
public S getImpl(someCondition) {
if (someCondition) {
return L;
} else {
return impl2;
}
}
}
А зачем вообще для этого дженерики-то, если они оба имплементят родителя? Передаёшь их оба как тип-родитель, выбираешь
Хм, и правда. А отделить реализации друг от друга можно порядком параметров в конструкторе. Спасибо :)
Обсуждают сегодня