泛型集合12.3.4 泛型集合泛型的场景:定义泛型:12.3.5 Colletions工具类 12.3.4 泛型集合 概念:参数化类型、类型安全的集合,强制集合元素的类型必须一致; 特点: 编译时即可检查,而非运行时抛出异常; 访问时,不必类型转换(拆箱); 不同泛型之间引用不能相互赋值,泛型不存在多态; import java.util.List; import java.util.Vector; import java.util.ArrayList; import java.util.LinkedList; public class TestBasicGeneric { public s Java中的泛型是一种强大的工具,它允许我们在编程时指定集合(如List、Set、Map等)的元素类型,从而提供类型安全性和编译时的错误检查。在标题和描述中,我们关注的是“泛型集合”这个主题,它是Java集合框架的一部分。 泛型集合的概念可以理解为参数化类型,即将类型作为参数传递给集合类。这意味着我们可以限制集合只能存储特定类型的对象。例如,当我们创建一个`List<String>`时,我们确保这个列表只能包含字符串,不能插入其他类型的元素。这与非泛型集合(如`List`或`ArrayList`)形成对比,非泛型集合可以存储任何类型的对象,但可能导致运行时类型转换异常。 泛型集合的特点主要包括以下几点: 1. **类型安全**:在编译时期就能检测到类型错误,而不是等到运行时才抛出异常。 2. **无需类型转换**:当我们从泛型集合中取出元素时,不需要进行强制类型转换(如拆箱操作),因为编译器已经知道元素的类型。 3. **无多态性**:由于泛型擦除,不同泛型之间的引用不能直接相互赋值。例如,`List<String>`不能赋值给`List<Object>`,即使String是Object的子类。 在提供的代码示例中,可以看到如何使用泛型。通过`List<Student>`创建了一个存储`Student`对象的列表,然后尝试添加不同类型的数据,但编译器会阻止这些不匹配的添加操作。接着,展示了如何使用不同的集合实现,如`ArrayList`、`Vector`和`LinkedList`。 此外,还提到了泛型的定义方式: - **类的泛型**:在创建类的实例时,可以为类定义的泛型进行参数化赋值。例如,`MyClass mc2 = new MyClass();`,这里的`MyClass`可能定义了某种泛型。 - **接口的泛型**:在实现接口时,可以为接口定义的泛型进行参数化赋值。例如,`MyInterface`接口中可能有一个泛型方法`method(T t)`,在实现这个接口的类中,如`MyLmplClass`和`MyLmplClass2`,需要指定具体的类型。 还提到了`Comparable2`接口,这是一个泛型接口,它的`compareTo(E obj)`方法用于比较两个对象,这里的`E`代表比较的对象类型。`MyStudent`类实现了`Comparable2`接口,表明`MyStudent`对象可以与其他`MyStudent`对象进行比较。 泛型是Java中非常重要的一个特性,它增强了代码的类型安全性和可读性,减少了不必要的类型转换,并提供了更清晰的接口定义。在实际开发中,熟练掌握泛型可以避免许多潜在的运行时错误,提高程序的健壮性。
剩余7页未读,继续阅读
- 粉丝: 3
- 资源: 979
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- simpack地铁a、b型车模型
- 精简版x265教程:全面解析HEVC视频压缩技术及其应用场景
- buck 同步buck变器仿真 模型内包含开环,电压单环,电流单环电压电流双闭环 控制策略有PI,PID,电压前馈,前馈补偿控制 从系统的模型出发,建立系统传递函数,根据传递函数进行分析控制 有对
- 数据库管理,集成了MySQL、Redis、ES、Kafka、HDFS、InfluxDB、Pulsar等多种数据库组件的全生命周期管理,提供了海量集群的批量管理能力,以及相应DB组件的集群管理工具箱
- 视频编码器x264参数性能对比与优化推荐
- HEVC编码器x265的率失真复杂度优化(RDCO)算法研究与应用
- maxwell电机电磁仿真 新能源扁线电机设计及优化分析 电机仿真
- 基于Python与Keras的土木工程沉降预测深度学习模型设计与优化
- 三菱FX3U的自由口通讯(用的MODBUS RTU协议),通过485-BD板与台达VFD-M变频器用RS指令来实现 三菱PLC程序运用RS指令进行轮询通讯,正常情况下只进行读操作,当
- Django 写的应用商店 初型
- 【岗位说明】车间主任岗位说明书.xlsx
- 【岗位说明】爆破工岗位说明书.doc
- 【岗位说明】车间主任职务描述书.doc
- 【岗位说明】厂长职能说明书.doc
- 【岗位说明】操作工岗位职责说明书.doc
- 【岗位说明】吊车工岗位工作说明书.doc