Da ich des öfteren Listen von Objekten (verschiedene Typen) mit einem Schlüssel in einer Map hinterlege und immer wieder sehr ähnlichen Code benötige, um eine Liste zu erhalten, hab ich mir folgende Hilfsmethode geschrieben:
Ziel ist es, aus der Map eine Liste anhand des Schlüssels zu erhalten und gegebenenfalls neu anzulegen, sollte dem Schlüssel noch keine Liste zugeordnet sein.
Wenn ich das Ganze dann aber so aufrufe:
..dann mag das der Compiler nicht.
Wie müsste ich den Kopf der Methode umschreiben, damit das auch für andere Klassen als Long und MyClass aufgerufen werden kann?
Java:
public static <T> ArrayList<T> getOrAddToMap(Map<Object, ArrayList<T>> map, Object id) {
ArrayList<T> result = map.get(id);
if (result == null) {
result = new ArrayList<>();
map.put(id, result);
}
return result;
}
Wenn ich das Ganze dann aber so aufrufe:
Java:
HashMap<Long, ArrayList<MyClass>> listCache = new HashMap<>();
Long id = 123456;
ArrayList<MyClass> aList = getOrAddToMap(listCache, id);
Wie müsste ich den Kopf der Methode umschreiben, damit das auch für andere Klassen als Long und MyClass aufgerufen werden kann?
Zuletzt bearbeitet: