Ich brauche eine Methode, die eine Instanz der angegebenen Klassenart zurückgibt. Nehmen wir an, dass die bereitgestellten Typen darauf beschränkt sind, dass eine "leere" Instanz von ihnen erstellt werden kann. Wenn Sie beispielsweise String.class
bereitstellen, wird ein leerer String zurückgegeben, und ein Integer.class
liefert eine Ganzzahl, deren Anfangswert gleich Null ist. Aber wie erstelle ich (boxed) primitive Typen im laufenden Betrieb? So was?Erstellen (boxed) primitive Instanz, wenn die Klasse bekannt ist
Ist die einzige Lösung, um alle möglichen primitiven Typen zu durchlaufen, oder gibt es eine einfachere Lösung? Beachten Sie, dass beide
int.class.newInstance()
und
Integer.class.newInstance()
Wurf ein InstantiationException
(weil sie nicht über nullary Bauer).
@Joonas: Schau jetzt noch mal :) –
Danke! Das könnte funktionieren :) –
Ich denke, ich würde für eine?: Kette gehen. 'type == long.class? (Long) 0L: 'usw. –