如何获取此对象的类型?

时间:2016-05-18 09:36:22

标签: java python scala apache-spark pickle

您可以在此处看到code

 val obj = unpickle.loads(row)

现在我知道obj是一个未序列化的ArrayList。我想知道其中的元素。

 val temp = obj.asInstanceOf[JArrayList[String]]
 for (i <- 0 to temp.size() - 1) {
     print(temp.get(i).getClass)
 }

但它会为每个元素打印Object。所以我想我应该使用类似ObjectInputStream的内容来获取每个元素中的数据。

感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

ArrayList存储一个Object引用列表。

在运行时,您只能检查Arrayof中ArrayList中的每个元素。

你可以检查一下:

for (Object o : list) {
  if (o instanceof YourClass1) {
    //doThing1
  }
  else if (o instanceof YourClass2)) {
    //doThing2
  }
...
}