扫码关注官方订阅号
存在两个集合对象ArrayList<A> a和ArrayList<B> b
ArrayList<A> a
ArrayList<B> b
a和b对象经过序列化和反序列化之后得到的都是Object对象,此时如何判断Object对象具有的泛型种类进行强制类型转化,对a和b进行不同的业务处理。
小伙看你根骨奇佳,潜力无限,来学PHP伐。
a和b都是ArrayList,在运行时它的范型类型是无法取得的,你可以尝试从a或b中取出一个元素,然后用instanceof来判断该元素的类型,然后再强制转换。
在java里面,泛型只存在于编译阶段,也就是说运行期泛型会被擦除。那么反序列化,都是ArrayList,你想转换成任何 ArrayList<T> 在编译的都可以的。运行期是不会进行判断的。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
a和b都是ArrayList,在运行时它的范型类型是无法取得的,你可以尝试从a或b中取出一个元素,然后用instanceof来判断该元素的类型,然后再强制转换。
在java里面,泛型只存在于编译阶段,也就是说运行期泛型会被擦除。
那么反序列化,都是ArrayList,你想转换成任何 ArrayList<T> 在编译的都可以的。运行期是不会进行判断的。