就是实际类型参数类型参数T是在定义泛型类Box时使用的,代表一个未知的类型。...我们不知道使用者会替换成什么类型,所以用T表示。而实际类型参数Apple是在实例化Box时实际替换类型参数T的类型。它给T一个明确的类型,用于这次实例化。...类型擦除有利有弊,好处是可以在1.5之前的VM上运行泛型代码,坏处是导致些许运行期间的效率损失,因为擦除后所有的类型参数都被替换为Object类型。不过这点性能损失在大部分情况下可以忽略。...泛型方法更灵活,可以在非泛型类上使用。除此之外,泛型方法可以有static修饰符,可以在静态方法内使用类型参数。而泛型类不能有静态方法和静态属性,原因和前面说的类型擦除有关。3. 泛型的上下限是什么?...>表示任何类型,它没有任何限制,可以理解为,T可以替换为任何类型。而通配符有些微的区别,它表示“未知类型”,也没有具体的类型边界,但它只能在“读”的场景使用,不能在“写”的场景使用。