PECS (Producer Extends Consumer Super) - это принцип, который используется при работе с generics в Java. Он определяет, какие типы wildcards ("?" символ) следует использовать для обобщенных типов данных, когда мы работаем с производителями (producer) и потребителями (consumer). Производители - это объекты, которые генерируют значения типа T. Например, если у нас есть список фруктов, то производителем будет метод, который возвращает элементы списка. Потребители - это объекты, которые используют значения типа T. Например, если у нас есть список фруктов, то потребителем может быть метод, который выводит элементы списка на экран или сохраняет их в файл. Согласно принципу PECS, если мы хотим использовать обобщенный тип данных, как производитель, то следует использовать wildcard "extends", а если мы хотим использовать его в качестве потребителя, то следует использовать wildcard "super". Пример использования wildcard "extends": public void printList(List<? extends Fruit> list) {
for (Fr