首页 > 编程语言 >Java泛型精讲

Java泛型精讲

时间:2023-02-20 23:32:29浏览次数:40  
标签:表示 Java 精讲 类型 擦除 泛型 代码


一、泛型类型

E - Element (在集合中使用,因为集合中存放的是元素)
T - Type(表示Java 类,包括基本的类和我们自定义的类)
K - Key(表示键,比如Map中的key)
V - Value(表示值)
N - Number(表示数值类型)
? - (表示不确定的java类型)
S、U、V - 2nd、3rd、4th types

一、泛型擦除

泛型是Java 1.5版本才引进的概念,在这之前是没有泛型的,但是泛型代码能够很好地和之前版本的代码兼容。那是因为,泛型信息只存在于代码编译阶段,在进入JVM之前,与泛型相关的信息会被擦除掉,我们称之为–类型擦除。

无限制类型擦除

Java泛型精讲_后端


有限制类型擦除

Java泛型精讲_泛型_02


擦除方法中类型定义的参数

Java泛型精讲_泛型_03


桥接方法

Java泛型精讲_java_04


标签:表示,Java,精讲,类型,擦除,泛型,代码
From: https://blog.51cto.com/u_15973676/6074524

相关文章

  • 最新JAVA实现导出mysql表结构到Word
    JAVA实现导出mysql表结构到Word1.引入jar包<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId>......
  • java 配置环境变量
    1.在此电脑下右键点击属性->系统信息点开高级系统设置->高级下面点击环境变量->在系统变量下面点击新建按钮2.变量名输入JAVA_HOME,输入值为安装JDK的路径(不包含bin路径)......
  • vue2,nginx,redis,tomcat,Java的关系
    Java作为一种广泛应用的编程语言,在后端开发中扮演着重要的角色。Java后端开发不仅需要掌握Java语言的基本语法和相关技术,还需要熟悉一些其他的技术和工具,如Vue2、Nginx、Re......
  • javaweb学习
    EL语言${}<c:iftest="{brand.status==1}"><td>启用</td></c:if>//判断<cforEach:items="${brands}" var="brand"varStatus="status"><td>${status.count}</td>......
  • Java的Lambda表达式到底是啥?
    Lambda表达式支持将代码块作为方法参数,Lambda表达式允许使用更简洁的代码来创建只有一个抽象方法的接口(这种接口被称为函数式接口)的实例。实际上可以想象就是连创造匿名内......
  • JavaWeb课堂测试(二)
    添加数据1.创建jsp页面  jsp页面源代码:<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head>......
  • Java集合Map接口详解——含源码分析
    前言关于集合中的Collection我们已经讲完了,接下来我们一起来看集合中的另一个大类:MapMap的实现类首先Map是一个接口,是一对键值对来存储信息的,K为key键,V为value值HashMapimpo......
  • Java学习笔记----关于集合框架
    集合框架的概述集合、数组都是多个数据进行存储操作的结构,简称java容器说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储数组在存储多个数据方面的特点一......
  • Java序列化的几种方式
    1、原生序列化方式一、实现Serializable接口(隐式序列化)这是最简单的序列化方式,会自动序列化所有非staic和transient关键字修饰的成员变量。二、实现Externalizable接......
  • JAVA工具类ObjectUtils.Null
    一、ObjectUtils.Null类作为一个空占位符,其中null具有另外一个含义。例如在HashMap中的HashMap.get(java.lang.Object)方法返回null如果这个Map包含null(也就是有一个ke......