Java Generics - Wildcards ที่ไม่มีขอบเขต

เครื่องหมายคำถาม (?) หมายถึงสัญลักษณ์แทนหมายถึงชนิดที่ไม่รู้จักในชื่อสามัญ อาจมีบางครั้งที่สามารถใช้อ็อบเจ็กต์ใด ๆ เมื่อเมธอดสามารถนำไปใช้โดยใช้ฟังก์ชันที่มีให้ในคลาสอ็อบเจ็กต์หรือเมื่อโค้ดไม่ขึ้นอยู่กับพารามิเตอร์ type

ในการประกาศพารามิเตอร์ Unbounded Wildcard ให้แสดงรายการ? เท่านั้น.

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงให้เห็นว่าการขยายถูกใช้เพื่อระบุสัญลักษณ์แทนที่ไม่ถูกผูกไว้อย่างไร

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);
   }
}

สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -

เอาต์พุต

1 
2 
3 
1.2 
2.3 
3.5