Если имеется Java Класс:
public class DummyTemplate<S, D extends DummyTemplate<S,D>> {
S value;
D next;
public DummyTemplate(S value, D next) {
super();
this.value = value;
this.next = next;
}
public static DummyTemplate<String, DummyTemplate> factory(){
return new DummyTemplate<String, DummyTemplate>(null, null);
}
}
Ошибка :Bound mismatch: The type DummyTemplate is not a valid substitute for the bounded parameter <D extends DummyTemplate<S,D>> of the type DummyTemplate<S,D>
хоть это валидная подмена типа.
Где тип D задан для того чтоб factory() точно возвращал тип который нужно: когда создаёшь подкласс, обьявляешь
public class DummyTemplateSubclass<S, D extends DummyTemplateSubclass<S,D>> extends DummyTemplate<S, D>{
Вопрос в том как дать определение типу DummyTemplate<String, DummyTemplate>, если постоянно надо рекурсивно указывать шаблон?
public class DummyTemplate<S> {
S value;
DummyTemplate<S> next;
public DummyTemplate(S value, DummyTemplate<S> next) {
super();
this.value = value;
this.next = next;
}
public static DummyTemplate<String> factory() {
return new DummyTemplate<>(null, null);
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости