Überprüfen Sie, welche Art von Objekt Liste? enthält

8

List enthält den Objekttyp, aber ich muss prüfen, ob das Objekt vom Typ A oder B :

ist %Vor%

Wie kann ich überprüfen, ob List A Objekte oder B Objekte enthält?

Hier ist der Code:

%Vor%

================================================ =========

%Vor%     
Shivababa 25.05.2013, 00:44
quelle

3 Antworten

13

Eine Möglichkeit besteht darin, zuerst Object in List zu vergleichen:

%Vor%     
Alexandre Lavoie 25.05.2013, 00:52
quelle
3

Generics bieten nur Kompilierungszeitüberprüfungen. Zur Laufzeit sind sie komplett weg. Dies wird als Typlöschung bezeichnet. Zur Laufzeit sieht Ihr Code folgendermaßen aus:

%Vor%

Das Unterscheiden zweier generischer Objekte durch ihren generischen Parameter ist einfach nicht etwas, was Sie in Java tun können.

    
Jan Doerrenhaus 25.05.2013 00:50
quelle
0

Wenn Sie wissen, dass die Liste nicht leer ist, können Sie rhsList.get (0) instanceof SegReqInfobean

ausführen

Wenn die Liste leer ist, können Sie ein Objekt vom richtigen Typ einfügen und daran denken, dass der Index 0 ein Dummy-Objekt speichert. Entfernen Sie es vor der Verarbeitung (oder starten Sie einfach die Verarbeitung der Liste mit dem Index 0). Generics sind nur eine Kompilierzeit Bequemlichkeit. Sie können den generischen Typ nicht zur Laufzeit verwenden, wie Sie festgestellt haben.

    
Thorn 25.05.2013 01:12
quelle

Tags und Links