在使用泛型时可以使用关键字“extends”来限制,泛型的类型的 ,比如在定义泛型是可以这样 public class GenericTest <T extends List>{...},这表示在实例化这个类的时候泛型的参数必须是List或它的实现类,例如可以这样来实例化 例如: GenericTest<T extends List> ge= new GenericTest<ArrayList>(); . 当在定义泛型时没有使用关键字extends指定类型时 默认的是 <T extends Object>.所以在实例化泛型的时候只要是Object或其子类 都可以作为该泛型的参数。当然在定义泛型时也可以不指定 extends关键字,在实例化对象时使用通配符“?”来制定泛型参数的类型(这里分为两种情况 一种是“是那一种类型或其subclass”,另外一种情况是“是那一种类型的superclass”),例如可以这样实例化一个泛型对象 GenericTest2<? extends List> ge2=new GenericTest2<Arraylist>,GenericTest2<? super List> ge21=new GenericTest2<Object>。
java中泛型使用中值得注意的几个问题
最新推荐文章于 2024-09-13 17:30:19 发布