Java中super关键字在泛型中的应用

avatar
作者
猴君
阅读量:0

在Java中,super关键字可以用于泛型中表示某个类的父类类型。通常情况下,super关键字用于泛型的上界限定。例如,如果我们有一个泛型类GenericClass<T>,我们可以使用<? super T>来表示T的父类类型。

public class GenericClass<T> {     private T value;      public void setValue(T value) {         this.value = value;     }      public T getValue() {         return value;     }      public void printSuperType(List<? super Integer> list) {         System.out.println(list);     } } 

在上面的例子中,printSuperType方法接受一个List类型的参数,该List中存储的元素必须是Integer的父类。这样我们就可以传入Integer或其父类的List实例作为参数。

public static void main(String[] args) {     GenericClass<Integer> generic = new GenericClass<>();          List<Number> numberList = new ArrayList<>();     numberList.add(10);     numberList.add(20);      generic.printSuperType(numberList);      List<Object> objectList = new ArrayList<>();     objectList.add("Hello");     objectList.add("World");      generic.printSuperType(objectList); } 

在上面的示例中,我们实例化了一个存储Integer类型的GenericClass对象,然后分别传入了存储Number和Object类型的List实例作为参数调用printSuperType方法。这样就可以灵活地处理不同类型的父类对象。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!