Я создаю общий класс (TestGeneric) с двумя параметрами типа (TAnimal и TMammal), причем параметр 2-го типа (TMammal) расширяет параметр 1-го типа (TAnimal) и другой тип (Mammal).
public class TestGeneric<TAnimal extends Animal, TMammal extends TAnimal & Mammal> { .. }
куда
public interface Animal { ... }
public class Mammal implements Animal { ... }
У меня проблема с Java:
Невозможно указать дополнительную привязку Mammal, если первая привязка является параметром типа.
Если я поменяю местами ограниченный тип TAnimal и Mammal,
public class TestGeneric<TAnimal extends Animal, TMammal extends Mammal & TAnimal> { .. }
У меня другая проблема с Java:
Тип TAnimal не является интерфейсом; он не может быть указан как ограниченный параметр.
Есть ли способ преодолеть вышеупомянутое ограничение в Java?
Я использую Java 1.8-172.