Java Generics - Ký tự đại diện không giới hạn

Dấu chấm hỏi (?), Đại diện cho ký tự đại diện, là viết tắt của loại không xác định trong generic. Có thể có những lúc bất kỳ đối tượng nào có thể được sử dụng khi một phương thức có thể được triển khai bằng chức năng được cung cấp trong lớp Đối tượng hoặc Khi mã độc lập với tham số kiểu.

Để khai báo một tham số Ký tự đại diện không bị ràng buộc, hãy liệt kê dấu? chỉ có.

Thí dụ

Ví dụ sau minh họa cách dùng extension để chỉ định một ký tự đại diện không bị ràng buộc.

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

Điều này sẽ tạo ra kết quả sau:

Đầu ra

1 
2 
3 
1.2 
2.3 
3.5