原始型別是泛型類或介面的物件,如果其型別引數在建立過程中傳遞。以下範例將展示上述概念。
使用您喜歡的編輯器建立以下java程式,並儲存到檔案:RawTypes.java 中,程式碼如下所示 -
package com.yiibai;
public class RawTypes {
public static void main(String[] args) {
Box5<Integer> box = new Box5<Integer>();
box.set(Integer.valueOf(105));
System.out.printf("Integer Value :%d\n", box.getData());
Box5 rawBox = new Box5();
// No warning
rawBox = box;
System.out.printf("Integer Value :%d\n", rawBox.getData());
// Warning for unchecked invocation to set(T)
rawBox.set(Integer.valueOf(106));
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 Box5<T> {
private T t;
public void set(T t) {
this.t = t;
}
public T getData() {
return t;
}
}
執行上面程式碼,得到以下結果 -
Integer Value :105
Integer Value :105
Integer Value :10
Integer Value :10