Java泛型通配符

站长

发表文章数:4263

归并排序(逆序数问题)详解

class Fruit{}
class Apple extends Fruit{}
class Plate<T>{
    private T item;
    public Plate(){}
    public Plate(T t){
        item=t;
    }
    public void set(T t){
        item=t;
    }
    public T get(){
        return item;
    }
}
public class GenericTest {
    public static void main(String[] args) {
        Fruit a=new Fruit();
        Fruit b=new Apple();
        Plate<Fruit> c=new Plate<Fruit>();
        //Apple是Fruit的子类,但Plate<Apple>不是Plate<Fruit>的子类
        //Plate<Fruit> d=new Plate<Apple>();

        //? extends Fruit就代表Fruit或Fruit的子类
        Plate<? extends Fruit> e=new Plate<Apple>();
        Plate<? extends Fruit> f=new Plate<>();

        //无法set/add,类型不匹配,

GitHub Top 微信小程序

编译器不知道具体是在处理哪个子类。 //e.set(new Fruit()); //e.set(new Apple()); Plate<? extends Fruit> g=new Plate<Apple>(new Apple()); //可以get,可以强制转型为Fruit子类。 Apple h= (Apple) g.get(); Fruit i=g.get(); //? super Fruit代表Fruit或Fruit的父类 Plate<? super Fruit> j=new Plate<>(); //可以set存入Fruit或Fruit的子类,会被统一成Fruit的某一个父类。 j.set(new Fruit()); j.set(new Apple()); //可以get,但只能返回Object,因为不知道具体是哪个父类 Object k= j.get(); } }

学_汇编语言_王爽版 要点采集笔记(未完待续…)

未经允许不得转载作者:站长, 转载或复制请以 超链接形式 并注明出处 xss云之家-资源网,新人技术交流平台,一个湖北娃的个人博客
原文地址:《Java泛型通配符》 发布于2020-02-02

分享到:
赞(0) 打赏 生成海报

长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

投稿赚钱
2020年在家赚取零花钱
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册