検索

ホームページ  >  に質問  >  本文

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

存在两个集合对象ArrayList<A> aArrayList<B> b

a和b对象经过序列化和反序列化之后得到的都是Object对象,此时如何判断Object对象具有的泛型种类进行强制类型转化,对a和b进行不同的业务处理。

伊谢尔伦伊谢尔伦2846日前773

全員に返信(2)返信します

  • 怪我咯

    怪我咯2017-04-17 17:50:56

    a と b は両方とも ArrayList であり、それらのジェネリック型は実行時に取得できません。a または b から要素を取り出し、instanceof を使用して要素の型を決定し、それをキャストすることができます。

    返事
    0
  • 迷茫

    迷茫2017-04-17 17:50:56

    Java では、ジェネリックはコンパイル段階でのみ存在します。つまり、ジェネリックは実行時に消去されます。
    デシリアライズはすべて ArrayList であり、コンパイルする前に任意の ArrayList<T> に変換できます。実行時には判断は行われません。

    返事
    0
  • キャンセル返事