博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
泛型的边界
阅读量:6246 次
发布时间:2019-06-22

本文共 612 字,大约阅读时间需要 2 分钟。

1.简述

CharSequence是String的父类,但List<CharSequence>不是List<String> 的父类。同样的,Class<CharSequence>也不是Class<String>的父类。
为了反映泛型类所持有元素的继承关系,可以用到泛型的边界。
void fun(){		List
list=new ArrayList<>(); //下行会报错.CharSequence是String的父类但List
不是List
的父类。 //List
list1=list; //下行报错 //List
list2=list; //下行不报错 List
list3=list; }
<? entends A>,可以get,可以调用A类的方法。
<? super A>,可以set。

因为擦除移除了类型信息,所以能用无界泛型参数 (即?)调用的方法只是那些可以用Object调用的方法。

泛型中的extends

它将泛型参数限制为某个类型子集,那么就可以调用该类族的一些方法。

泛型参数表中的extends

泛型类的extends

把第32行做些改变,会有如下报错:

泛型参数中的问号

你可能感兴趣的文章
rhel6创建iso镜像
查看>>
Unix整理笔记-vi简介-里程碑M8
查看>>
Java中方法覆盖的约束
查看>>
用路由器做CA的基于数字证书的ipsec ***
查看>>
运维必须掌握的Linux面试题【转自CentOS中文站】
查看>>
poj1459 Power Network(最大流)
查看>>
相机拍照友盟检测crash是为什么?
查看>>
翻转单词顺序列(剑指offer)
查看>>
ashx和ajax利用POST导致编码错误
查看>>
virtual oj ACboy needs your help again!
查看>>
ubuntu 安装 nginx php mysql
查看>>
HDU-1213-How Many Tables
查看>>
奇怪的道路[JXOI2012]
查看>>
Windows+MyEclipse+MySQL【连接数据库报错caching_sha2_password】
查看>>
导入数据
查看>>
UMeditor上传图片配置
查看>>
Homestead小结
查看>>
2015年iOS开发总结
查看>>
CocoaPods 安装与使用
查看>>
学习笔记:查最大内存
查看>>