&青牛& 2020-06-05 18:13 采纳率: 0%
浏览 102

java泛型擦除相关的问题

图片说明

public class Test {


    static class Parent{

    }
    static class Son extends Parent{

    }


    public static void main(String[] args) {
        Son son = new Son();
        List<Son> list=new ArrayList<>();
        Map<Son,Collection<Parent>> map=new HashMap<>();

        test(son);

        test1(list);//报错

        test2(list);

        test3(map);//报错
    }
    public static void test(Parent parent){

    }

    public static void test1(List<Parent> parents){

    }
    public static void test2(List<? extends Parent> parents){

    }
    public static void test3(Map<? extends Parent,Collection<? extends Parent>> map){

    }

}

哪位大神知道这个报错的地方是为什么吗?

  • 写回答

1条回答 默认 最新

  • syyyyyyyyyyyyyyh 2020-06-05 22:37
    关注

    固定上边界通配符时使用extends限定类型上界的通配符
    使用extends向上限定边界,类型可以是上界类自身或其子类
    test1,方法中泛型指定了必须为Parent,用son肯定不行
    test3, 不太清楚

    评论

报告相同问题?

悬赏问题

  • ¥15 apdl语言如何增加受力分析
  • ¥15 算法对比:学校优化算法与蚁群算法对比
  • ¥15 机电一体化系统设计说明书
  • ¥20 sgy数据提取地震波速,有人能回答吗小馋
  • ¥20 c#实现打开word的功能,并且需要安装成windows服务,word打不开怎么办
  • ¥15 python用ARIMA时间预测模型预测数据出错,急!
  • ¥30 为什么后端传给前端vue的河流json数据不在地图中显示出来
  • ¥50 关于弹性波动方程求解的问题:
  • ¥100 C# 做 10个串口数据采集;采集数据填到 EXE表中;1路与PLC MODBUS通讯 ;要求速度尽量快点; 有能做完整程序的单聊,重酬
  • ¥15 P0口接8个LED,编写程序,并绘制proteus仿真电路原理图