反射添加的元素被擦除

本文涉及的产品
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 通过反射绕过泛型限制,向声明为Integer的ArrayList添加字符串,证明泛型在运行时已被擦除,仅保留原始类型,体现了Java泛型的类型擦除机制。

public static void main(String[] args)
throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
ArrayList list = new ArrayList();
list.add(1); //这样调用 add 方法只能存储整形,因为泛型类型的实例为 Integer
list.getClass().getMethod("add", Object.class).invoke(list, "asd");

    for (int i = 0; i < list.size(); i++) {
        // 输出1    asd
        System.out.println(list.get(i));
    }
}如果直接调用add()方法,那么只能存储整数数据,不过当我们利用反射调用add()方法的时候,却可以存储字符串,这说明了Integer泛型实例在编译之后被擦除掉了,只保留了原始类型。
相关文章
|
3月前
|
存储 运维 Linux
阿里云99元云服务器:2核2G+3M带宽+40G云盘,新购续费同价,个人开发者轻量级应用优选
阿里云推出的99元经济型e实例云服务器,配2核2G计算资源、3M带宽及40G企业级云盘,因高性价比受个人开发者及小微企业青睐。该实例不仅价格低至99元/年,还承诺“新购续费同价”至2027年3月31日,提供长期成本保障。产品具备企业级数据保护、灵活配置及全面生态融合等特点。
|
3月前
|
机器学习/深度学习 传感器 算法
【图像隐写】基于DWT+DCT实现图像水印隐藏提取(含PSNR、NCC、IF)附Matlab代码
🌿 往期回顾可以关注主页,点击搜索 智能优化算法 神经网络预测 雷达通信 无线传感器 电力系统 信号处理 图像处理 路径规划 元胞自动机 无人机 物理应用 机器学习系列 车间调度系列 滤波跟踪系列 数据分析系列 图像处理系列 ✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:
|
4月前
|
JSON API 开发者
实战指南:调用沃尔玛平台 API 高效获取商品详情数据
本文详解如何调用沃尔玛Get a Walmart Item API获取商品详情,涵盖OAuth 2.0认证、Access Token获取、接口调用及Python示例代码,并提醒速率限制、错误处理与令牌刷新等关键注意事项,助力开发者高效集成商品数据。(239字)
|
6月前
|
安全 小程序 JavaScript
OAuth2.0四种授权模式
OAuth2四种授权模式简介:授权码模式最安全,适用于第三方登录;简化模式无授权码,token直接返回,适合无后端场景;密码模式需用户共享账号信息,仅限高度信任服务;客户端模式为服务间调用,无需用户参与。
|
6月前
|
存储 NoSQL 物联网
MongoDB应用场景
MongoDB适用于社交、游戏、物流、物联网及直播等场景,因其支持海量数据存储、高频读写操作。用户信息、动态、日志等低事务性、高并发数据可高效存取,尤其适合用嵌套结构与地理位置索引优化查询,是大规模非结构化数据存储的理想选择。(238字)
|
6月前
|
安全 物联网 API
Windows 11 25H2 | 24H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 12 月更新)
Windows 11, version 25H2 Enterprise Arm64 x64 (updated Dec 2025)
571 0
Windows 11 25H2 | 24H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 12 月更新)
|
8月前
|
人工智能 Java 关系型数据库
基于springboot的画品交流系统
本项目构建基于Java+Vue+SpringBoot+MySQL的画品交流系统,旨在解决传统艺术交易信息不透明、流通受限等问题,融合区块链与AI技术,实现画品展示、交易、鉴赏与社交一体化,推动艺术数字化转型与文化传播。
|
10月前
|
JavaScript 前端开发 机器人
【Azure Bot Service】在中国区Azure上部署机器人的 Python 版配置
本文介绍了在中国区Azure上使用Python SDK配置Azure Bot Service时遇到的问题及解决方案,涵盖参数设置与适配器配置,适用于希望在Azure中国区部署Python机器人的开发者。
262 9
|
9月前
|
机器学习/深度学习 算法 调度
【column-and-constraint generation method[CCG]】两阶段鲁棒优化(Python代码实现)
【column-and-constraint generation method[CCG]】两阶段鲁棒优化(Python代码实现)
398 0
|
算法 计算机视觉 Python
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
该文章详细介绍了使用Python和OpenCV进行相机标定以获取畸变参数,并提供了修正图像畸变的全部代码,包括生成棋盘图、拍摄标定图像、标定过程和畸变矫正等步骤。
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)

热门文章

最新文章