泛型(Generic)
1.作用:
JDK5中的泛形允许程序员在编写集合代码时,就限制集合的处理类型,从而把原来程序运行时可能发生问题,转变为编译时的问题,以此提高程序的可读性和稳定性(尤其在大型程序中更为突出)。
防止强转时出现是安全性问题,将类型的转换错误在编译时即报错
2.注意:
泛型是提供给javac编译器使用的,它用于限定集合的输入类型,让编译器在源代码级别上,即挡住向集合中插入非法数据。但编译器编译完带有泛形的java程序后,生成的class文件中将不再带有泛形信息,以此使程序运行效率不受到影响,这个过程称之为“擦除”。
3.泛形的基本术语:
以ArrayList<E>为例:<>念着typeof
ArrayList<E>中的E称为类型参数变量
ArrayList<Integer>中的Integer称为实际类型参数
整个称为ArrayList<E>泛型类型
整个ArrayList<Integer>称为参数化的类型ParameterizedType
4.泛型典型应用:
使用迭代器迭代泛形集合中的元素。
使用增强for循环迭代泛形集合中的元素。
存取HashMap中的元素。
5.使用泛形时的几个常见问题:
使用泛形时,泛形类型须为引用类型,不能是基本数据类型
6.巧记泛型的使用规则:
使用泛型时,如果两边都使用了泛型,那么两边的泛型类型必须一样:其他的情况全错
ArrayList<String> list = new ArrayList<Object>();
ArrayList<Object> list = new ArrayList<String>();
使用泛型时,如果只有一边使用了泛型,那么没有任何问题(主要考虑的是java的兼容性)
分享到:
相关推荐
Java试题-3:反射和泛型的综合应用 Java反射 泛型都是比较高级的应用技术
可能的情况是,该文件包含一个类,这个类有一个泛型方法,用于根据传入的类型参数动态创建对象并调用其方法。下面是一个可能的示例代码片段: ```java public class TestReflexAndGeneric { public <T> T ...
6. 综合示例:提供复杂的实际项目案例,展示如何将泛型编程和设计模式结合起来解决实际问题。 通过学习这本书,读者不仅可以深化对C++语言的理解,还能掌握如何在实际开发中有效地应用泛型编程和设计模式,提升软件...
我们可以使用Java IO流读取这个文件,然后用DOM解析XML,将结果存储在一个泛型集合中。如下所示: ```java import java.io.*; import javax.xml.parsers.*; import org.w3c.dom.*; public class Example { public...
在LabVIEW中,泛型容器是一种非常重要的数据结构,它允许程序员存储不同类型的数据,增强了程序的灵活性和可重用性。 在LabVIEW中,泛型容器主要分为两类:数组和簇。数组是同类型数据的有序集合,可以是一维、二维...
Java中的集合类与泛型程序设计是Java开发中不可或缺的一部分,它们为开发者提供了处理和组织对象的高效工具。本章主要介绍了以下几个核心概念: 8.1 集合类结构: Java集合框架由两个主要的接口树组成。第一个树以...
LabVIEW 是一种图形化编程语言,广泛应用于工程和科学领域。在 LabVIEW 中,泛型容器的概念借鉴自其他编程语言,如 C++ 的 Standard Template Library (STL),旨在简化复杂数据结构的处理并提高代码的复用性。泛型...
在JavaWeb开发中,综合实例通常是为了展示一系列技术的整合应用。这个实例——"javaWeb综合实例",涉及到了数据库连接对象池、泛型、反射和线程缓存等核心概念,这些都是JavaWeb开发中不可或缺的技术组件。接下来,...
16 Typescript 类型、接口、类 、泛型 综合使用--Typescript封装统一操作Mysql Mongodb Mssql的底层类库 (14分31秒).rar 17 Typescript 模块 以及模块化封装DB库 封装类似Mongoose风格的类库 (25...
在本实验中,我们主要关注的是Java编程的综合应用,特别是集合、IO流以及多态的概念。以下是关于这些知识点的详细说明: 1. **抽象类与继承**: - `Student`类被定义为抽象类,它包含了学号(id)、姓名(name)、年龄...
本文将深入探讨一款名为“综合人事管理系统”的软件,它采用C++编程语言进行开发,为企业的人员管理提供了强大而灵活的工具。通过对这款系统的分析,我们将揭示C++在构建大型应用系统中的优势和技巧。 首先,让我们...
在本项目中,"c++实现综合评价模型"是一个基于C++编程语言的软件工程实践,旨在构建一个能够对多个因素进行加权整合评估的系统。综合评价模型通常用于复杂决策问题,它允许用户根据各自的重要性对不同因素赋予权重,...
《Java综合经典实例大全》是Java编程学习的重要资源,它包含了一系列丰富且具有代表性的实例,旨在帮助开发者深入理解和熟练运用Java语言。本资源主要针对Java编程初学者和有一定经验的开发者,通过实际操作和实践,...
【综合缴费系统c#2005】是一个基于C#编程语言和SQL Server 2000数据库技术的毕业设计项目。这个系统旨在提供一个全面的解决方案,用于管理各种费用的缴纳,例如学费、水电费、物业费等,适用于学校、住宅区或其他...
《C++教材习题及综合练习》 C++是一门广泛应用的编程语言,它结合了面向对象编程、泛型编程和过程化编程等多种特性。初学者在学习C++时,通常会通过解决习题和实践项目来加深理解。本文将讨论给定文件中的几个关键...
【标签】:“JAVA”表明此项目主要使用Java技术,Java是Sun Microsystems(现已被Oracle收购)开发的一种跨平台的编程语言,支持面向对象编程、泛型编程、并发处理等特性,广泛应用于企业级应用、Web应用和移动应用...
2. 自定义泛型的综合应用:学生可以学习如何编写一个应用自定义泛型的类,并测试其正确性。 知识点:泛型编程、自定义泛型、Java泛型机制。 3. 注释的综合运用:通过实验,学生可以学习如何利用注释实现方法的权限...
其中包括基本概念+运算符+判断和循环+循环高级和数组+方法+综合练习+面向对象+面向对象综合训练+...综合练习+API(常见API+对象克隆+正则表达式+使劲按+包装类+练习+算法+lambda)+集合(List集合+泛型+Set+数据结构)...
一、JAVA基础知识 1. JAVA的基本数据类型:在JAVA中,有8种基本数据类型,分别是byte、short、int、long、float、double、boolean和char。每种类型都有其特定的存储空间和取值范围。 2. JAVA的运算符:JAVA中的...