使用泛型,原始类型不能作为类型参数传递.在下面给出的示例中,如果我们将int基本类型传递给box类,那么编译器会抱怨.为了缓解这种情况,我们需要传递Integer对象而不是int基本类型.
package com.it1352; public class GenericsTester { public static void main(String[] args) { Box<Integer> integerBox = new Box<Integer>(); //compiler errror //ReferenceType //- Syntax error, insert "Dimensions" to complete ReferenceType //Box<int> stringBox = new Box<int>(); integerBox.add(new Integer(10)); printBox(integerBox); } private static void printBox(Box box) { System.out.println("Value: " + box.get()); } } class Box<T> { private T t; public void add(T t) { this.t = t; } public T get() { return t; } }
这将产生以下结果 :
Value: 10