Основная цель или цель записи с подстановочными знаками? extends T '

У меня есть (противоречащие интуиции) наблюдения об общей нотации подстановочных знаков, используемых в коллекциях. цель нотации с подстановочными знаками Список - разрешает присвоение списка (подтипов T) ссылке на List of '? Т '. Его цель не состоит в том, чтобы специально разрешать добавление элементов подтипов T в Список (из '? Of T'), что возможно даже в List .

    List<Number> list = new ArrayList<Integer>(); // invalid , List<Integer> is not assignable to List<Number>

    List<Number> list = new ArrayList<Number>() ; // OK

    list.add(new Integer(1)); // valid , '? extends Number' not needed!

    List<? extends Number> list1 = new ArrayList<Integer>();  // Valid , because of notation '? extends Number' 

Является ли мое наблюдение правильно?

7
задан Bhaskar 8 June 2011 в 13:19
поделиться