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

   2024-10-02 8830
核心提示:在Java中,super关键字可以用于泛型中表示某个类的父类类型。通常情况下,super关键字用于泛型的上界限定。例如,如果我们有一个

在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方法。这样就可以灵活地处理不同类型的父类对象。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号