Используя Java 6 SE, у меня есть класс, который содержит Vector.Существует метод класса, который просто вызывает содержащийся метод Vector addAll () с одинаковыми параметрами для каждого.Векторы могут иметь тип «Суперкласс» или «Подкласс», и я хочу, чтобы методы addAll () поддерживали оба.Вся эта установка может выглядеть следующим образом:
public class VectorAContainer(){
this.vectorA = new Vector<Superclass>();
}
public void addAll(Vector<Superclass> vector){
this.vectorA.addAll(vector);
}
Затем я хочу вызвать строку кода следующим образом:
VectorAContainer container = new VectorAContainer();
container.addAll(vectorB); //where vectorB is a Vector<Subclass>
Проблема в том, что Eclipse выдает следующую ошибку:
"Метод addAll (Vector ) в типе VectorAContainer не применим для аргументов (Vector )."
Как ни странно, я обнаружил, чтоaddAll () работает, если он НЕ внутри класса:
//No container with an addAll(), calling directly on vectorA
this.vectorA.addAll(vectorB); //No errors!
Я не вижу разницы между двумя вышеупомянутыми случаями.Я хотел бы получить первый способ работы, потому что у меня есть намного более сложный класс, который содержит Вектор, подобный приведенному выше.Я был бы очень признателен за любую помощь, которую вы все могли бы оказать!