Hallo, ich würde gerne etwas in der folgenden Art machen
Klar, dass sich der Compiler da querstellt.
Habe ich eine Möglichkeit, das irgendwie hinzukriegen? Es geht nur um Klassen mit parameterlosen Konstruktor, alles andere darf gerne eine Exception werfen.
Ich würde mir gerne ersparen, einen Default-Wert an die Methode übergeben zu müssen (also auch dann eine Instanz zu erstellen, wenn gar kein Wert gebraucht wird).
Java:
public static T getOrAdd(HashMap<K,T> map, K key) {
if (map == null || key == null) {
return null;
}
T result = map.get(K);
if (result == null) {
result = new T(); //klappt so natürlich nicht, T.getClass().newInstance() geht auch nicht.
map.put(key, result);
}
return result;
}
Klar, dass sich der Compiler da querstellt.
Habe ich eine Möglichkeit, das irgendwie hinzukriegen? Es geht nur um Klassen mit parameterlosen Konstruktor, alles andere darf gerne eine Exception werfen.
Ich würde mir gerne ersparen, einen Default-Wert an die Methode übergeben zu müssen (also auch dann eine Instanz zu erstellen, wenn gar kein Wert gebraucht wird).