小渣飞、 2020-12-09 03:22 采纳率: 87.9%
浏览 13
已采纳

关于 java 中的泛型?



import org.junit.Test;

import java.util.ArrayList;
import java.util.List;


public class TessWildcard {
    @Test
    public void test(){
        List<? extends Person> list1 = null;
        List<? super Person> list2 = null;

        List<Student> list3 = new ArrayList<>();
        List<Person> list4 = new ArrayList<>();
        List<Object> list5 = new ArrayList<>();

        // ***********************
        list1 = list4; // list4 符合 list1 小于等于 Person 的规范

        // 这里也没有超出 Person 请问为什么会编译报错
        Student stu = list1.get(0);
    }

    class Person{

    }

    class Student extends Person{

    }
}

本人小白,求通俗易懂的解答

  • 写回答

4条回答 默认 最新

  • aLvXuan 2020-12-09 09:41
    关注

    ? extends 上界通配符,list1 的上界为 Person, list1.get(0) ---> Person,Student 继承于 Person,自然不能把 Person 赋值给 Student,跟Java 的继承方面有关系,有关泛型,可以参考一下下面链接 
    https://kaixue.io/kotlin-generics/

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?