首页 > 其他分享 >记一次BeanCopy泛型擦除问题

记一次BeanCopy泛型擦除问题

时间:2023-10-27 14:22:17浏览次数:28  
标签:users List BeanCopy 擦除 泛型 序列化 class

public class A {

  List<User1> users;

}

public class B {

  List<User2> users;

}

B b = Bean.copy(A,B.class);

使用beancopy某类如果包含List或map范型时,会被泛型替换。最后b里面的users内部元素时User1类型

若B是rpc接口的入参,此时通过rpc传递到下游接口,下游接口没有User1类型,反序列化时就会泛型擦除,导致反序列化后的b的users字段内部变为了hashmap。

标签:users,List,BeanCopy,擦除,泛型,序列化,class
From: https://www.cnblogs.com/luckyboy2020/p/17792220.html

相关文章

  • Java拾贝第九天——泛型
    Java拾贝不建议作为0基础学习,都是本人想到什么写什么如果一个类中,不想限定具体类型的属性,或某个方法的返回值和传参。可以在类声明时通过一个标识来表示。这样只需要在实例化类的时候声明具体的类型即可,这就是泛型泛型类泛型作用于类上就是泛型类。栗子:publicclassTest9......
  • 8.6 C++ 泛型化编程态
    C/C++语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。C/C++语言具有很高的效率和控制能力,但也需要开发人员自行管理内存......
  • 泛型
    泛型注意点:泛型中不能写基本数据类型(要写引用数据类型比如:String)指定泛型的具体类型后,传递数据时,可以传入该类类型或者其子类类型如果不写泛型,类型默认是Object【笔者批:泛型是在编辑视设卡,转成class文件时会消失(泛型的擦除),在jdk5中出现泛型,因为以前的屎山代码太多不好改】......
  • Golang泛型的简单使用
    packagemainimport"fmt"//MyInt~表示不仅支持int8,还支持int8的衍生类型int8A和int8BtypeMyIntinterface{ int|~int8|int16|int32|int64}funcgetMaxNum[TMyInt](a,bT)T{ ifa>b{ returna } returnb}//结构体typeAgeTinterface{......
  • ASP.NET Core中对开放泛型(Open Generic)的依赖注入
    publicinterfaceIRepository<T>{voidAdd(Tentity);List<T>Get();}publicclassRepository<T>:IRepository<T>{List<T>_list=newList<T>();publicvoidAdd(Tentity){_list.Add(entit......
  • TS 踩坑笔记: 箭头函数添加泛型报错(Error: JSX element ‘T’ has no corresponding
    前言今天给大家分享一个在React项目中使用TypeScript遇到的错误项目背景React+TS的项目配置,项目中关于React组件的使用.tsx后缀,其他单纯的文件使用.ts后缀问题描述在React组件附近定义泛型的箭头函数时产生TS报错警告,原本以为是语法写错了但是实际上在.t......
  • Java 泛型
    从Java5以后,Java引入了“参数化类型(parameterizedtype)”的概念,允许程序在创建集合时,指定集合元素的类型,例如List<String>,这表明该List只能保存字符串类型的对象。Java的参数化类型被称为泛型(Generic)使用泛型通过在泛型类型后增加一对尖括号,尖括号中放入一个类型,例如Lis......
  • Ts泛型
    泛型有时,书写某个函数时,会丢失一些类型信息(多个位置的类型应该保持一致或有关联的信息)泛型:是指附属于函数、类、接口、类型别名之上的类型泛型相当于是一个类型变量,在定义时,无法预先知道具体的类型,可以用该变量来代替,只有到调用时,才能确定它的类型很多时候,TS会智能的根据传递......
  • Go泛型全面讲解:一篇讲清泛型的全部
    @目录序言1.一切从函数的形参和实参说起2.Go的泛型3.类型形参、类型实参、类型约束和泛型类型3.1其他的泛型类型3.2类型形参的互相套用3.3几种语法错误3.4特殊的泛型类型3.5泛型类型的套娃3.6类型约束的两种选择3.7匿名结构体不支持泛型4.泛型receiver4.1基于泛型的队......
  • 基于CH32V208开发板—FLASH读写、擦除
    -------------------------------------------------------------------------------------------------------------------------------------在CH32V208系列芯片中,各个型号的参数如下图:FLASH的大小包含零等待区和非零等待区,一共是480K。1、内部实际存储代码的flash为慢速flas......