【Java】泛型擦除机制

news/2024/7/3 0:04:51

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

示例代码

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反编译工具
         */
    }
}
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;
 *    }
 * }
 */

下一篇文章:


http://lihuaxi.xjx100.cn/news/1717108.html

相关文章

怎么禁止U盘拷贝电脑资料

怎么禁止U盘拷贝电脑资料 现如今U盘已经成为了人们日常传输文件的主要方式之一&#xff0c;U盘在给我们提供便利的同时&#xff0c;也带来了一些安全隐患&#xff0c;比如U盘可以轻松地复制电脑文件&#xff0c;这可能会导致机密信息泄露。因此&#xff0c;本文将介绍一些方法…

Sharding-JDBC-5.0.0 实现按月分表、自动建表、自动刷新节点

1、引入Maven 依赖 <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId><version>5.0.0</version></dependency><dependency><groupI…

SpringBoot 全局请求拦截

方法一 在Spring Boot中&#xff0c;可以使用拦截器&#xff08;Interceptor&#xff09;来实现全局请求拦截。示例&#xff1a; 首先&#xff0c;创建一个拦截器类&#xff0c;实现HandlerInterceptor接口&#xff1a; import javax.servlet.http.HttpServletRequest; impo…

Java并发线程池原理源码深入分析与调优实战

一&#xff0c;开篇&#xff1a; java中提供了多线程设计的Api&#xff0c;为什么还要用线程池呢&#xff1f; 下来看两个例子&#xff1a; 1. 使用多线程跑十万次 2. 使用线程池跑十万次 使用多线程跑十万次 package com.laoyang.ThreadPool.公开课;import java.util.ArrayL…

2023-10学习笔记

1.sql注入 不管是上一篇博客&#xff0c;通过java代码执行sql 还是我们常用的Mybatis的#{}和${} 都会提到sql注入的问题 1.1啥是sql注入 应该知道是说传入无关的参数&#xff0c;比如本来是想要一个where条件查询参数 但是你拼了一个drop 比如 原来的sql select * from…

统计学习方法 支持向量机(下)

文章目录 统计学习方法 支持向量机&#xff08;下&#xff09;非线性支持向量机与和核函数核技巧正定核常用核函数非线性 SVM 序列最小最优化算法两个变量二次规划的求解方法变量的选择方法SMO 算法 统计学习方法 支持向量机&#xff08;下&#xff09; 学习李航的《统计学习方…

如何将Python程序打包并保护源代码

导言: 在某些情况下,我们可能希望将Python程序打包成可执行文件,以便用户无法查看程序的源代码。这种需求通常出现在商业软件、数据分析工具或其他需要保护知识产权的场景中。本文将介绍如何使用PyInstaller工具来打包Python程序,并确保它可以执行和读取配置信息。 第一步…

纺织辅料经营小程序商城的作用是什么

数字化时代&#xff0c;各个行业都在通过线上转型实现新增长&#xff0c;纺织辅料厂商也一样&#xff0c;需要通过线上化实现与客户的面对面交流有利于打造品牌及构建私有化流量池&#xff0c;但无论入驻哪家电商平台及垂直行业平台&#xff0c;都有不少的佣金及入驻费。 可通过…