Re: Generic Wildcard Capture conversion Covariance Invariance Contravariance
От: r0nd  
Дата: 20.10.23 00:34
Оценка: 1 (1)
Здравствуйте, Aleksei_Lekomtsev, Вы писали:

B>? Или есть разница, что и когда выбирать?


Это называется PECS — "Producer Extends, Consumer Super":

  1. Producer Extends — Если вам нужен List для получения значений типа T (вы хотите читать значения T из списка), вы должны объявить его с использованием <? extends T>, например, List<? extends Integer>. Однако вы не можете добавлять элементы в этот список.
  2. Consumer Super — Если вам нужен List для записи значений типа T (вы хотите записывать значения T в список), вы должны объявить его с использованием <? super T>, например, List<? super Integer>. Однако нет гарантий относительно типа объекта, который вы можете прочитать из этого списка.
  3. Если вам нужно как читать из списка, так и записывать в него, вы должны объявить его без использования подстановочных символов, например, List<Integer>.

Материалы по теме:


AL>Можно какие-то практические примеры когда какие типы более appropriate/fit?


RTFM
...<< Dementor 1.4.4 ✪ Lets Play a Game ⚂⚂⚃⚄⚄>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.