存在两个集合对象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 在編譯的都可以的。運行期是不會進行判斷的。
a和b都是ArrayList,在運行時它的範式類型是無法取得的,你可以嘗試從a或b中取出一個元素,然後用instanceof來判斷該元素的類型,然後再強制轉換。
在java裡面,泛型只存在於編譯階段,也就是說運行期泛型會被擦除。 在編譯的都可以的。運行期是不會進行判斷的。
那麼反序列化,都是ArrayList,你想轉換成任何 ArrayList