遇到<A>,<B>,<K,V>等,是用到了java中的泛型。
一般使用<T>来声明类型持有者名称,自定义泛型类时,类持有者名称可以使用T(Type)
如果是容器的元素可以使用E(Element),若键值匹配可以用K(Key)和V(Value)等,
若是<?>,则是默认是允许Object及其下的子类,也就是java的所有对象了。
所以说,如果是字每A,B,C,D...定义的,就是泛型,这里T只是名字上的意义而已T---type,E----Element
K----key, V----value
如果是?定义的,就是普通的Object或者其子类
举例说明:
Set<T> 表示 集合里 是 T类的实例
List<E> 表示 集合里 是 E类的实例
List<?> 表示 集合里的对象类型不确定,未指定
List 同 List<?> 是一样的。
泛型的作用:
1、用泛型:
List<T> list=new ArrayList<T>();
T t=list.get(0);
2、不用泛型:
List list=new ArrayList();
T t=(T)list.get(0);
相信你已经看出:
a、用泛型只是确定了集合内的元素的类型,但却是在编译时确定了元素的类型再取出来时已经不再需要强转,
增强程序可读性,稳定性和效率
b、不用泛型时,如果是装入集合操作,那么元素都被当做Object对待,失去自己的类型,那么从集合中取出来时,
往往需要转型,效率低,容易产生错误
分享到:
相关推荐
编译原理实验 对下述描述算符表达式的算符优先文法G[E],给出算符优先分析的实验结果。 实验内容: 有上下无关文法如下: E->E+T|E-T|T T->T*F|T/F|F F->(E)|i
MySQL Connector/J 8.0.2 是MySQL数据库与Java应用程序之间的关键桥梁,它是一个驱动程序,使得Java开发者能够使用JDBC(Java Database Connectivity)接口连接到MySQL服务器。MySQL是世界上最受欢迎的关系型数据库...
MySQL Connector/J 8.0.17 是MySQL数据库与Java应用程序之间通信的桥梁,它作为Java Database Connectivity (JDBC) 驱动程序,使得Java开发者能够方便地在Java环境中操作MySQL数据库。这个压缩包“mysql-connector-...
在Java中,`java.sql.Date`和`java.util.Date`虽然都表示日期,但它们之间存在细微差别。`java.sql.Date`主要用于数据库交互,只包含日期部分,而`java.util.Date`包含完整的日期和时间。因此,在某些情况下,可能...
sbmysql.append(rs.getInt("id")+"\t"+rs.getString("username")+"\t"+rs.getString("password")+"\n"); } textdata.setText(sbmysql.toString()); } catch (ClassNotFoundException e) { e.printStackTrace()...
### Java试题知识点解析 #### 一、选择题详解 ...这些题目涵盖了Java语言的基础语法、数据类型、流程控制结构、字符串处理、数组操作等方面的内容。对于准备Java面试或者笔试的人来说,这些都是非常重要的知识点。
通过上述内容的学习,我们可以看出Java正则表达式的功能十分强大,不仅可以用来进行字符串的匹配、验证,还可以进行复杂的字符串操作,是Java开发中不可或缺的一部分。随着对正则表达式理解的深入,我们还能发现更多...
根据提供的文件信息,这里将对每一道题目进行详细的解析,并解释相关的 Java 基础知识点。 ### 1. Java 的关键字选择题 **题目:** 下列哪个是 Java 中的关键字? - A. sizeof - B. abstract - C. NULL - D. ...
算符优先文法是一种自下而上的分析方法,其文法的特点是文法的产生式中不含两个相邻的非终结符。 生成FIRSTVT LASTVT集合 算符优先关系表 可以对输入的语言进行分析 样例 1: S->#E# E->E+T E->T T->T*F T->...
Java SCJP(Sun Certified Programmer for the Java 2 Platform)是一门认证考试,旨在验证程序员对Java语言基础的掌握。以下是对题目中涉及知识点的详细解释: 1. 题目930:此题考察了`String`类的`...
Java支持多种转义字符,如`\n`(换行)、`\t`(制表符)、`\"`(双引号)等,用于在字符串中插入特殊字符。 **2.4. 标识符与关键字** - **标识符**:用于命名变量、类、方法等。应遵循一定的命名规则,如不能以数字开头...
[奥莱理] Client-Server Web Apps with JavaScript and Java (E-Book) ☆ 图书概要:☆ As a Java programmer, how can you tackle the disruptive client-server approach to web development? With this ...
【Java网络开发--T/TCP协议的实现:插口层】这一主题主要涉及Java网络编程中TCP协议的具体实现,特别是T/TCP(TCP优化)在插口层的改动。插口层是网络协议栈中的一层,它为上层应用提供访问网络服务的接口。 在T/...
### Java基础语法详解 #### 一、Java 开发环境(JDK) **JDK (Java Development Kit)** 是开发Java应用程序的基础工具包,包含了编译、调试和运行Java程序所需的所有工具。 - **JRE (Java Runtime Environment)**:...
Java 泛型编程是Java语言在JDK 1.5版本引入的一项重要特性,它极大地提高了代码的安全性和可重用性。泛型本质上是参数化类型,允许我们在编写代码时,将数据类型作为参数,这使得类、接口和方法能够处理多种不同的...
泛型是Java编程中的一个重要概念,它提供了一种在编译时期检查类型安全性的机制,同时也减少了强制类型转换的需要。泛型主要应用于类、接口和方法中,用来限制可以存储或处理的数据类型。 1. **泛型的意义**: - ...
【OCJP认证-3期(PX017) Java语言基础-基本概念】文档主要涵盖了Java编程语言的基础知识,特别是关于输出格式化和对象引用的概念。以下是对这些知识点的详细说明: 1. **`printf()` 方法**:`printf()` 是Java中的...
Java基础知识包括Java语言的基本构成、编程规范、面向对象的概念等,而面向对象是Java语言的核心特性之一,本篇文章将从Java基础知识和面向对象两大块内容出发,重点梳理Java中的编程习惯、代码结构、关键字使用以及...
### JAVA-基础多线程 #### 一、线程概念 1. **线程定义**: - 线程是程序执行时的一条路径,是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。 - 一个线程指的是进程中一个...
### Java基础数据结构—树 #### 一、树的概念与特性 树是一种非线性数据结构,相较于线性表、栈、队列等线性结构,树提供了更复杂且丰富的组织方式。在树中,数据元素(节点)通过分支相互连接,形成了一个层次化...