通配符类型
来源:互联网 发布:网络骑士哪一部最好看 编辑:程序博客网 时间:2024/06/13 17:08
通配符类型:就是允许类型参数变化的泛型。
其中,Pair(raw)为原始类型(即Pair),Pair<?>为泛型类型。Employee为父类,Manager为子类。
Pair<? extends Employee>表示任何泛型Pair类型,它的参数类型是Employee的子类,如Pair<Manager>.
Pair<? super Manager>表示Manager所有的超类型。如Pair<Employee>、Pair<Object>
Pair<? extends Employee>和Pair<? super Manager>都表示一个范围,通配符类型的灵活性就体现在这里。
Pai<?>和Pair在表示范围上都表示最大,但是在方法的调用上有所不同。
Pair<?>有如下方法:
? getFirst()
void setFirst()
getFirst()的返回值只能赋给一个Object。setFirst方法不能被调用,甚至不能用Object调用。Pair<?>和Pair本质的不同在于:可以用任意Object对象调用原始Pair类的setObject方法。
带有超类限定的通配符可以向泛型对象写入,带有子类型限定的通配符可以从泛型对象读取。
以下是来自牛客网的一道题目:
class A {}class B extends A {}class C extends A {}class D extends B {}
Which four statements are true ?
链接:https://www.nowcoder.com/questionTerminal/9bc2d446173147b3b28b31568a6c4706
来源:牛客网
A.The type List<A>is assignable to List.
B.The type List<B>is assignable to List<A>.
C.The type List<Object>is assignable to List<?>.
D.The type List<D>is assignable to List<?extends B>.
E.The type List<?extends A>is assignable to List<A>.
F.The type List<Object>is assignable to any List reference.
G.The type List<?extends B>is assignable to List<?extends A>.
正确答案:A C D G
阅读全文
0 0
- 通配符类型
- java-类型通配符
- java 类型通配符
- java--通配符类型
- 8.8 通配符类型
- java 类型通配符 ?
- 泛型类以及类型通配符
- 深入理解泛型,类型通配符<?>,类型通配符上限,下限
- Java 泛型类型通配符
- 设定类型通配符的上限
- 泛型——类型通配符
- 使用类型通配符【java 5.0 tiger】
- 初学Java,泛型类型通配符(三十七)
- 泛型通配符、定义泛型类型
- java中泛型学习1之类型通配符(?)
- java_泛型,设置类型通配符的上限
- java 类型通配符 直接源码1
- 类型通配符的那点小事儿
- JAVA编码转换的详细过程理解—>浏览器和服务器的接收和发送数据的编码
- 【高效程序员系列】3、别碰鼠标------让键盘飞起来
- 逻辑位运算
- word试题模板设计总结
- xml文档,dom树的增删改查
- 通配符类型
- java基础之File类详解
- python3爬虫基础
- Opencv 使用 GrabCut 算法进行交互式前景提取
- 记一个段错误问题
- 输入输出练习
- 思维的局限
- 数据结构之通用树
- (144)距离场环境遮挡