Java Generics - Loại thô
Kiểu thô là một đối tượng của một lớp hoặc giao diện chung nếu các đối số kiểu của nó không được truyền trong quá trình tạo. 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;
public class GenericsTester {
public static void main(String[] args) {
Box<Integer> box = new Box<Integer>();
box.set(Integer.valueOf(10));
System.out.printf("Integer Value :%d\n", box.getData());
Box rawBox = new Box();
//No warning
rawBox = box;
System.out.printf("Integer Value :%d\n", rawBox.getData());
//Warning for unchecked invocation to set(T)
rawBox.set(Integer.valueOf(10));
System.out.printf("Integer Value :%d\n", rawBox.getData());
//Warning for unchecked conversion
box = rawBox;
System.out.printf("Integer Value :%d\n", box.getData());
}
}
class Box<T> {
private T t;
public void set(T t) {
this.t = t;
}
public T getData() {
return t;
}
}
Điều này sẽ tạo ra kết quả sau.
Đầu ra
Integer Value :10
Integer Value :10
Integer Value :10
Integer Value :10