java 学习7:泛型通配符(上限限定和下限限定)

1、泛型类和泛型方法

public class Demo<T>{
    public <T> void method(T t){

    }
}

2、泛型接口和泛型方法

public interface Demo<I>{
    public abstract <I> void method(I); 
}

public class DemoImpl<E> implements Demo<E>{
    @overrid
    public <E> void method(E e){
        System.out.println(e);
        return e;
    }
}

3、泛型通配符

public class Demo{

    public static void method(ArrayList<?> list){
        for(int i=0; i<list.size(); i++){
            System.out.println(list.get(i));
        }
    }
}

泛型的上限限定:此时的 泛型?必须是 E的本身或者E的子类

? extends E

泛型的下限限定:此时的泛型?必须是E的本身或者父类

? supper E

如demo:

publice static void getElement1(Collection<? extends Number>)

此时的泛型?必须是Number本身或者Number的子类(如:Integer)

publice static void getElement1(Collection<? supper Number>)

此时的泛型?必须是Number本身或者Number的父类(如:Object)

发布了102 篇原创文章 · 获赞 40 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_16165281/article/details/104443407