Java Generics - Các kiểu tham số hóa
Một lớp Generic có thể có các kiểu được tham số hóa trong đó một tham số kiểu có thể được thay thế bằng một kiểu được tham số hóa. Ví dụ sau sẽ giới thiệu khái niệm được đề cập ở trên.
Thí dụ
Tạo chương trình java sau bằng bất kỳ trình soạn thảo nào bạn chọn.
GenericsTester.java
package com.tutorialspoint;
import java.util.ArrayList;
import java.util.List;
public class GenericsTester {
public static void main(String[] args) {
Box<Integer, List<String>> box
= new Box<Integer, List<String>>();
List<String> messages = new ArrayList<String>();
messages.add("Hi");
messages.add("Hello");
messages.add("Bye");
box.add(Integer.valueOf(10),messages);
System.out.printf("Integer Value :%d\n", box.getFirst());
System.out.printf("String Value :%s\n", box.getSecond());
}
}
class Box<T, S> {
private T t;
private S s;
public void add(T t, S s) {
this.t = t;
this.s = s;
}
public T getFirst() {
return t;
}
public S getSecond() {
return s;
}
}
Điều này sẽ tạo ra kết quả sau.
Đầu ra
Integer Value :10
String Value :[Hi, Hello, Bye]