Требует использовать wildcards. А я разве не использую?
Пробовал вместо T ставить класс C, не помогло.
Пробовал добавлять элементы по штучно через цикл, это тоже не помогло.
Что не так?
package com.javarush.task.task35.task3506;
import java.util.ArrayList;
import java.util.List;
/*
Wildcards
*/
public class Solution {
public static <T> void add(List<? super T> destinationList, List<? extends T> sourceList) {
destinationList.addAll(sourceList);
}
public static void main(String[] args) {
List<B> destination = new ArrayList<>();
destination.add(new B());
List<C> source = new ArrayList<>();
source.add(new C());
add(destination, source);
System.out.println(destination);
System.out.println(source);
/*
[com.javarush.test.level39.lesson08.task01.Solution$C@203b4f0e, com.javarush.test.level39.lesson08.task01.Solution$B@15c330aa]
[com.javarush.test.level39.lesson08.task01.Solution$C@203b4f0e]
*/
}
static class A {
}
static class B extends A {
}
static class C extends B {
}
}