【Java】泛型擦除机制

擦除机制 :将一个List集合泛型赋值给一个没有使用到泛型List集合,直接去除泛型

示例代码

java 复制代码
package com.collection.Demo06;

import java.util.ArrayList;
import java.util.List;

/**
 * 泛型擦除机制
 */
public class Test06 {
    public static void main(String[] args) {
        /**
         * 泛型原理 底层 使用擦除机制
         * 泛型 是在编译阶段限制传递的类型
         */
        List<String> strs = new ArrayList<>();
        strs.add("mayikt");//输入参数 String
        //擦除机制:将一个List集合 泛型 赋值给一个没有使用到泛型List集合,直接去除泛型
        List list = strs;
        list.add(3);//输入参数 Object
        list.add("mayikt");
        /**
         * 泛型 是在编译阶段限制传递类型 在运行阶段都是擦除
         * 底层 class 文件在运行 里面是没有泛型的
         * 如何证明?
         * java源代码->编译成class
         * xjad反编译工具
         */
    }
}
java 复制代码
package com.collection.Demo06;

public class Meite<T> {
    private T t;

    public T add() {
        return t;
    }
}
/**
 * java源代码->编译成class
 * xjad反编译工具
 * 将Meite.class反编译为Meite.java如下:
 *
 * public class Meite
 * {
 *
 * 	private Object t;
 *
 * 	public Meite()
 *        {
 *    }
 *
 * 	public Object add()
 *    {
 * 		return t;
 *    }
 * }
 */

下一篇文章:

相关推荐
程序员侠客行3 分钟前
Tomcat 网络I/O模型浅析
java·tomcat·web
一直都在5727 分钟前
AQS详解
java·开发语言
zero15978 分钟前
Python 8天极速入门笔记(大模型工程师专用):第二篇-Python基础入门(变量、数据类型、print输出)
开发语言·笔记·python
sheji341610 分钟前
【开题答辩全过程】以 校园帮系统为例,包含答辩的问题和答案
java·spring boot
koping_wu10 分钟前
【Java并发】CompletableFuture详解:常用API和底层原理
java·开发语言·python
填满你的记忆13 分钟前
《Java 面试常见题型(2026最新版,背完直接能面)》
java·开发语言
小松加哲13 分钟前
# Spring Aware 与 BeanPostProcessor:作用、使用与原理(源码级)
java·后端·spring
人还是要有梦想的17 分钟前
QT的基本学习路线
开发语言·qt·学习
小松加哲17 分钟前
Spring AOP 代理创建时机深度解析:初始化阶段 vs 三级缓存(源码级)
java·spring·缓存
Mr_Xuhhh22 分钟前
LeetCode 热题 100 刷题笔记:从数组到字符串的经典解法(续)
java·数据结构·算法