Итак, у меня есть 3 класса.
Abstract class A
Class B extends class A
independent Class C
В классе D, который содержит метод main, я создаю список экземпляров класса B
List<B> b = methodCall(); // the method returns a list of instances of class B
Теперь в классе C у меня есть один метод, который является общим для A и B, и, следовательно, я не хочу его дублировать. Я хочу иметь один метод, который принимает в качестве входных данных экземпляр класса A, следующим образом:
public void someMethod(List<A> a)
Однако, когда я делаю:
C c = new C();
c.someMethod(b);
Я получаю сообщение об ошибке, что некоторый метод не применим для аргумента List<B>
, вместо этого он ожидает получить List<A>
.
Есть ли хороший способ исправить эту проблему?
Большое спасибо!