Ich sollte das wissen, aber ich kann das aus irgendeinem Grund nicht verstehen.Besetzung Liste <Object> zu Liste <Map <String, Objekt >>
Warum kann ich eine Liste von Objekten List<Object>
nicht in eine Liste von Karten List<Map<String, Object>>
umwandeln? Jedes Objekt in der Liste ist ein Objekt vom Typ Map<String, Object>
. Warum ist das Gießen nicht möglich?
Was ich tun kann, ist ein new ArrayList<Map<String, Object>>();
erstellen und durchlaufen über die Liste und fügen Sie jedes Element mit einer Besetzung.
List<Object> dataList;
..
//Why doesn't this work?
List<Map<String, Object>> rxData = (List<Map<String, Object>>)dataList;
//This works, but is there a better way?
rxData = new ArrayList<Map<String, Object>>();
for (Object data : dataList) {
rxData.add((Map<String, Object>)data);
}
Warum? Weil Generika von Java nicht replizierbar sind. Es gibt keine Möglichkeit für die JVM, die Besetzung zu überprüfen. Wenn du es einfach trotzdem machen willst, denke ich '@SuppressWarnings (" unchecked ") ist die Lösung, obwohl ich das nicht getestet habe. – markspace
Java Generics FAQ: http://www.angelikalanger.com/GenericsFAQ/FAQSections/TechnicalDetails.html#What%20is%20the%20SuppressWarnings%20annotation? – markspace