泛型的高级用法包括限制泛型可用类型和使用类型通配符
1.限制泛型可用类型
泛型默认可以使用任何类型来实例化一个泛型类对象,但Java中也对泛型类实例的类型作了限制,语法如下:
class 类名称<T extends anyClass>
其中anyClass指某个接口或类,使用泛型限制后,泛型类的类型必须实现或继承anyClass这个接口或类,无论anyClass是接口还是类在进行泛型限制时都必须使用extends关键字
类型通配符
在泛型机制中,提供了类型通配符,其主要作用是在创建一个泛型类对象时限制这个泛型类的类型实现或者继承某个接口或类的子类,要声明这样一个对象可以使用"?"通配符来表示,同时使用extends关键字来对泛型加以限制
泛型类名称<?extends list>a=null;