Учебники

Обобщения Java – неограниченные подстановочные знаки

Вопросительный знак (?), Представляет подстановочный знак, обозначает неизвестный тип в обобщениях. Могут быть случаи, когда любой объект может использоваться, когда метод может быть реализован с использованием функциональных возможностей, предоставляемых в классе Object, или когда код не зависит от параметра типа.

Чтобы объявить параметр Unbounded Wildcard, перечислите? только.

пример

В следующем примере показано, как extends используется для указания неограниченного подстановочного знака.

Live Demo

package com.tutorialspoint;

import java.util.Arrays;
import java.util.List;

public class GenericsTester {
   public static void printAll(List<?> list) {
      for (Object item : list)
         System.out.println(item + " ");
   }

   public static void main(String args[]) {
      List<Integer> integerList = Arrays.asList(1, 2, 3);
      printAll(integerList);
      List<Double> doubleList = Arrays.asList(1.2, 2.3, 3.5);
      printAll(doubleList);
   }
}

Это даст следующий результат –