Arraylist mit Integers und Strings
Sie können dies wie folgt tun, müssen aber auf Generika für den Listencontainer verzichten.
List<List> listOfMixedTypes = new ArrayList<List>();
ArrayList<String> listOfStrings = new ArrayList<String>();
ArrayList<Integer> listOfIntegers = new ArrayList<Integer>();
listOfMixedTypes.add(listOfStrings);
listOfMixedTypes.add(listOfIntegers);
Aber ein besserer Weg wäre, einen Map
zu verwenden um die beiden Listen im Auge zu behalten, da der Compiler Sie nicht mehr daran hindern könnte, Typen zu mischen, wie z. B. einen String in eine Integer-Liste einzufügen.
Map<String, List> mapOfLists = new HashMap<String, List>();
mapOfLists.put("strings", listOfStrings);
mapOfLists.put("integers", listOfIntegers);
mapOfLists.get("strings").add("value");
mapOfLists.get("integers").add(new Integer(10));
Wenn es vermeidbar ist, vermeiden Sie bitte diese Liste von Objekttypen. Gehen Sie für einzelne Listen.
Wenn nicht, sollten Sie sich für den Typ Object
entscheiden
List<Object> list = new ArrayList<Object>();
die alle Typ-Objekte akzeptieren, aber beim Abrufen vorsichtig sein müssen.
Prüfen der Objekte beim Abrufen
for (Object obj: list) {
if (obj instanceof String){
// this is string
} else if (obj instanceof Integer) {
// this is Integer
}
}
List<Object> oList=new ArrayList<Object>();