为了账号安全,请及时绑定邮箱和手机立即绑定

使用泛型的集合对象序列化之后,如何判断反序列化后Object的泛型?

使用泛型的集合对象序列化之后,如何判断反序列化后Object的泛型?

狐的传说 2019-03-14 14:10:38
存在两个集合对象ArrayList<A> a和ArrayList<B> ba和b对象经过序列化和反序列化之后得到的都是Object对象,此时如何判断Object对象具有的泛型种类进行强制类型转化,对a和b进行不同的业务处理。
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

a和b都是ArrayList,在运行时它的范型类型是无法取得的,你可以尝试从a或b中取出一个元素,然后用instanceof来判断该元素的类型,然后再强制转换。


查看完整回答
反对 回复 2019-04-18
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

在java里面,泛型只存在于编译阶段,也就是说运行期泛型会被擦除。
那么反序列化,都是ArrayList,你想转换成任何 ArrayList<T> 在编译的都可以的。运行期是不会进行判断的。

查看完整回答
反对 回复 2019-04-18
  • 2 回答
  • 0 关注
  • 661 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号