Java Generics: В arraylist (неограниченный подстановочный знак) методы add и addAll ведут себя по-разному

Чтобы быть прямым, вот пример:

    ArrayList <?> x = new ArrayList();
    ArrayList y = new ArrayList();
    x.add("abc"); // Clause 1. Compilation error - No problemo. Understood.
    x.addAll(y); // Clause 2. No compilation error

Для неограниченного подстановочного знака нельзя добавлять. Почему в последнем операторе нет ошибки компиляции?

5
задан yapkm01 26 October 2011 в 18:10
поделиться