如果原始类型的类型参数在创建过程中未传递,则原始类型是通用类或接口的对象。以下示例将展示上述概念。
package com.learnfk; 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(); //没有警告 rawBox = box; System.out.printf("Integer Value :%d\n", rawBox.getData()); //未检查调用 set(T) 的警告 rawBox.set(Integer.valueOf(10)); System.out.printf("Integer Value :%d\n", rawBox.getData()); //未经检查的转换警告 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; } }
这将产生以下输出。
Integer Value :10 Integer Value :10 Integer Value :10 Integer Value :10
参考链接
https://www.learnfk.com/java-generics/java-generics-raw-types.html
标签:box,10,Java,rawBox,无涯,Value,泛型,Integer,Box From: https://blog.51cto.com/u_14033984/9004835