没有合适的资源?快使用搜索试试~ 我知道了~
目录1. 泛型的用处2. 泛型类与接口2.1 基本用法2.1.1 泛型的声明2.1.2 示例2.2 注意事项3. 泛型方法4. 泛型类型的继承规则5. 通配符类型5.1 没有限制的通配符5.2有限制的通配符 1. 泛型的用处 集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在JDK1.5之前只能把元素类型设计为Object,JDK1.5之后使用泛型来解决。因为这个时候除了元素的类型不确定,其他的部分是确定的,例如关于这个元素如何保存,如何管理等是确定的,因此此时把元素的类型设计成一个参数,这个类型参数叫做泛型。 ArrayList中的E称为类型参数变量 Arra
资源推荐
资源详情
资源评论
一篇文章快速了解一篇文章快速了解Java中的泛型中的泛型
目录目录1. 泛型的用处2. 泛型类与接口2.1 基本用法2.1.1 泛型的声明2.1.2 示例2.2 注意事项3. 泛型方法4. 泛型类型的继承规则5.
通配符类型5.1 没有限制的通配符5.2有限制的通配符
1. 泛型的用处泛型的用处
集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在JDK1.5之前只能把元素类型设计
为Object,JDK1.5之后使用泛型来解决。因为这个时候除了元素的类型不确定,其他的部分是确定的,例如关于这个元素如
何保存,如何管理等是确定的,因此此时把元素的类型设计成一个参数,这个类型参数叫做泛型。
ArrayList中的E称为类型参数变量类型参数变量
ArrayList中的Integer称为实际类型参数实际类型参数
整个称为整个称为ArrayList泛型类型泛型类型
整个整个ArrayList称为参数化的类型称为参数化的类型
@Test
public void test1() {
ArrayList list = new ArrayList();
list.add("hello");
list.add(" world");
//list.add(12); //错误
//此时类型已经明确为String
for (String s : list) {
System.out.print(s);
}
}
输出结果:
从上面的小例子就可以看出,
在集合中使用泛型,只有指定的类型才能添加到集合中,类型安全,读取出来的对象也不需要强
转,便携。保证如果程序在编译时没有发出警告,运行时就不会产生保证如果程序在编译时没有发出警告,运行时就不会产生
ClassCastException
异常。异常。
同时,代码更加简洁、健
壮。
2. 泛型类与接口泛型类与接口
2.1 基本用法基本用法
2.1.1 泛型的声明泛型的声明
interface List 和和 class GenTest
其中,T,K,V不代表值,而是表示类型。这里使用任意字母都可以。常用T表示,是Type的缩写。
2.1.2 示例示例
public class Order {
private T OrderT;
public T getOrderT() {
return OrderT;
}
public void setOrderT(T orderT) {
OrderT = orderT;
}
}
*********************************************
public static void main(String[] args) {
//创建对象并指定类型
Order order = new Order();
order.setOrderT("张三");
String s = order.getOrderT();
System.out.println(s);//张三
//创建对象并指定类型
Order order1 = new Order();
order1.setOrderT(123);
//order1.setOrderT("123"); 类型不一致 编译错误
Integer t = order1.getOrderT();
System.out.println(t);//123
资源评论
weixin_38706197
- 粉丝: 2
- 资源: 978
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- NE555+74LS192+74LS48电子秒表课程设计报告(纯数电实现)
- 基于深度学习的视频描述综述:视觉与语言的桥梁
- 2024年全球干式变压器行业规模及市场占有率分析报告
- 小红书2024新年市集合作方案解析与品牌营销策略
- 基于javaweb的沙发销售管理系统论文.doc
- 毕业设计Jupyter Notebook基于深度网络的垃圾识别与分类算法研究项目源代码,用PyTorch框架中的transforms方法对数据进行预处理操作,后经过多次调参实验,对比不同模型分类效果
- 基于java的扫雷游戏的设计与实现论文.doc
- 基于java的企业员工信息管理系统论文.doc
- 深度视频压缩框架:从预测编码到条件编码的技术革新
- 1221额的2的2的2额
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功