D
Deprecated
Gast
Hi,
ich benötige in einer Applikation eine Map, die zu einem beliebigen Class-Objekt (als Schlüssel) jeweils eine Instanz genau dieser Klasse als Wert speichert.
Mögliche Paare sollten also zB sein:
String.class - "Blabla"
Integer.class - new Integer(5)
Was nicht gehen sollte wäre zB:
Integer.class - "Blabla"
Klar, denn "Blabla" ist nicht vom Typ Integer.
So etwas zur Laufzeit während des Einfügens in die Map zu überprüfen wäre ja kein Ding.
Ich hätte allerdings gerne eine Map, die so etwas schon zur Compilezeit gar nicht erst erlaubt. Also eine Map, die (vermutlich mittels Generik) so definiert ist, dass der Compiler einen Fehler meldet, wenn solche falschen Paare eingefügt werden.
Also so etwas wie
, was aber leider nicht funzt.
Da ich schon vieles probiert habe, bin ich schon zufrieden, wenn mir jemand sagt, dass so etwas zur Compile-Time auf keinen Fall möglich ist. Aber vielleicht geht's ja doch irgendwie...
ich benötige in einer Applikation eine Map, die zu einem beliebigen Class-Objekt (als Schlüssel) jeweils eine Instanz genau dieser Klasse als Wert speichert.
Mögliche Paare sollten also zB sein:
String.class - "Blabla"
Integer.class - new Integer(5)
Was nicht gehen sollte wäre zB:
Integer.class - "Blabla"
Klar, denn "Blabla" ist nicht vom Typ Integer.
So etwas zur Laufzeit während des Einfügens in die Map zu überprüfen wäre ja kein Ding.
Ich hätte allerdings gerne eine Map, die so etwas schon zur Compilezeit gar nicht erst erlaubt. Also eine Map, die (vermutlich mittels Generik) so definiert ist, dass der Compiler einen Fehler meldet, wenn solche falschen Paare eingefügt werden.
Also so etwas wie
Code:
<T> Map<Class<T>,T> map;
Da ich schon vieles probiert habe, bin ich schon zufrieden, wenn mir jemand sagt, dass so etwas zur Compile-Time auf keinen Fall möglich ist. Aber vielleicht geht's ja doch irgendwie...