<? extends T>限定参数类型的上界,参数类型必须是T 或T 的子类型,但对于List<?extends T>,不能通过add()来加入元素,因为不知道<? extends T>是T 的哪一种子类。 <? super T>限定参数类型的下界,参数类型必须是T 或T 的父类型,不能能过get()获取元素,因为不知道哪个超类;
泛型中extends 和super 的区别
最新推荐文章于 2021-08-22 21:56:33 发布
本文详细解析了Java中泛型通配符<? extends T>和<? super T>的用法。<? extends T>定义了类型的上界,限制参数必须是T或其子类型,但不允许添加元素到集合中。而<? super T>则设定了类型的下界,确保参数为T或其父类型,但无法通过get()获取元素。理解这两种通配符对于编写健壮的Java代码至关重要。
摘要由CSDN通过智能技术生成