2016-05-18 14 views
0

können Sie die code hierWie bekomme ich den Typ dieses Objekts?

val obj = unpickle.loads(row) 

jetzt sehen, dass ich weiß, obj eine Arraylist ist die unserialisierten ist. Ich möchte das Element darin kennen.

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

Aber es Object für jeden element.So drucken denke ich, vielleicht sollte ich so etwas wie ObjectInputStream verwenden, um die Daten in jedem Element zu erhalten.

Vielen Dank für eine Beratung.

+0

schließlich drucke ich die Daten in der Nähe Code Straße. –

Antwort

0

ArrayList speichert eine Liste von Objektreferenzen.

Zur Laufzeit können Sie instanceof nur für jedes Element in der ArrayList überprüfen.

Sie können es so etwas wie das:

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

Vielen Dank, wie überprüfen? –

+0

Danke, aber ich kenne die Kandidatenklasse nicht. –

+0

Was meinst du mit "Ich will das Element darin kennen"? –

Verwandte Themen