`
无量
  • 浏览: 1148475 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JAVA基础----java中E,T,?的区别?

阅读更多
遇到<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对待,失去自己的类型,那么从集合中取出来时,
往往需要转型,效率低,容易产生错误

分享到:
评论
5 楼 无量 2017-06-05  
linzy410 写道
T跟E是两回事

请具体讲下
4 楼 linzy410 2017-05-27  
T跟E是两回事
3 楼 a337214749 2016-12-16  
  
2 楼 神探维拉 2016-11-21  
赞一个。
1 楼 raycode 2014-05-20  
学习了!说穿了,其实A、B、E、T等都是一会事情,只是便于人理解吧,对编译器毫无影响。

用泛型跟不用泛型,那就是那就两码事情了。

相关推荐

    算符优先分析法.doc.rar_E->E+T_E->E+T E->E—T_GME_doc_编译原理

    编译原理实验 对下述描述算符表达式的算符优先文法G[E],给出算符优先分析的实验结果。 实验内容: 有上下无关文法如下: E-&gt;E+T|E-T|T T-&gt;T*F|T/F|F F-&gt;(E)|i

    mysql-connector-java-8.0.2下载

    MySQL Connector/J 8.0.2 是MySQL数据库与Java应用程序之间的关键桥梁,它是一个驱动程序,使得Java开发者能够使用JDBC(Java Database Connectivity)接口连接到MySQL服务器。MySQL是世界上最受欢迎的关系型数据库...

    mysql-connector-java--8.0.17.zip

    MySQL Connector/J 8.0.17 是MySQL数据库与Java应用程序之间通信的桥梁,它作为Java Database Connectivity (JDBC) 驱动程序,使得Java开发者能够方便地在Java环境中操作MySQL数据库。这个压缩包“mysql-connector-...

    java中日期格式的转换

    在Java中,`java.sql.Date`和`java.util.Date`虽然都表示日期,但它们之间存在细微差别。`java.sql.Date`主要用于数据库交互,只包含日期部分,而`java.util.Date`包含完整的日期和时间。因此,在某些情况下,可能...

    mysql-connector-java-5.1.48.zip

    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正则表达式的功能十分强大,不仅可以用来进行字符串的匹配、验证,还可以进行复杂的字符串操作,是Java开发中不可或缺的一部分。随着对正则表达式理解的深入,我们还能发现更多...

    java基础知识测试题

    根据提供的文件信息,这里将对每一道题目进行详细的解析,并解释相关的 Java 基础知识点。 ### 1. Java 的关键字选择题 **题目:** 下列哪个是 Java 中的关键字? - A. sizeof - B. abstract - C. NULL - D. ...

    编译原理算符优先文法

    算符优先文法是一种自下而上的分析方法,其文法的特点是文法的产生式中不含两个相邻的非终结符。 生成FIRSTVT LASTVT集合 算符优先关系表 可以对输入的语言进行分析 样例 1: S-&gt;#E# E-&gt;E+T E-&gt;T T-&gt;T*F T-&gt;...

    java--scjp考题复习

    Java SCJP(Sun Certified Programmer for the Java 2 Platform)是一门认证考试,旨在验证程序员对Java语言基础的掌握。以下是对题目中涉及知识点的详细解释: 1. 题目930:此题考察了`String`类的`...

    个人笔记--JAVA基础

    Java支持多种转义字符,如`\n`(换行)、`\t`(制表符)、`\"`(双引号)等,用于在字符串中插入特殊字符。 **2.4. 标识符与关键字** - **标识符**:用于命名变量、类、方法等。应遵循一定的命名规则,如不能以数字开头...

    [Java] JavaScript Java Client-Server 网络应用开发 (英文版)

    [奥莱理] 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网络开发--T/TCP协议的实现:插口层】这一主题主要涉及Java网络编程中TCP协议的具体实现,特别是T/TCP(TCP优化)在插口层的改动。插口层是网络协议栈中的一层,它为上层应用提供访问网络服务的接口。 在T/...

    Java基础语法.docx

    ### Java基础语法详解 #### 一、Java 开发环境(JDK) **JDK (Java Development Kit)** 是开发Java应用程序的基础工具包,包含了编译、调试和运行Java程序所需的所有工具。 - **JRE (Java Runtime Environment)**:...

    java--泛型编程

    Java 泛型编程是Java语言在JDK 1.5版本引入的一项重要特性,它极大地提高了代码的安全性和可重用性。泛型本质上是参数化类型,允许我们在编写代码时,将数据类型作为参数,这使得类、接口和方法能够处理多种不同的...

    8-java进阶-泛型1

    泛型是Java编程中的一个重要概念,它提供了一种在编译时期检查类型安全性的机制,同时也减少了强制类型转换的需要。泛型主要应用于类、接口和方法中,用来限制可以存储或处理的数据类型。 1. **泛型的意义**: - ...

    OCJP认证-3期(PX017) Java语言基础-基本概念.docx

    【OCJP认证-3期(PX017) Java语言基础-基本概念】文档主要涵盖了Java编程语言的基础知识,特别是关于输出格式化和对象引用的概念。以下是对这些知识点的详细说明: 1. **`printf()` 方法**:`printf()` 是Java中的...

    Java基础知识复习01:从基础知识---面向对象.pdf

    Java基础知识包括Java语言的基本构成、编程规范、面向对象的概念等,而面向对象是Java语言的核心特性之一,本篇文章将从Java基础知识和面向对象两大块内容出发,重点梳理Java中的编程习惯、代码结构、关键字使用以及...

    JAVA-基础多线程

    ### JAVA-基础多线程 #### 一、线程概念 1. **线程定义**: - 线程是程序执行时的一条路径,是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。 - 一个线程指的是进程中一个...

    java基础数据结构-树

    ### Java基础数据结构—树 #### 一、树的概念与特性 树是一种非线性数据结构,相较于线性表、栈、队列等线性结构,树提供了更复杂且丰富的组织方式。在树中,数据元素(节点)通过分支相互连接,形成了一个层次化...

Global site tag (gtag.js) - Google Analytics