J'ai besoin d'une méthode qui renvoie une instance du type de classe fourni. Supposons que les types fournis sont limités à telle sorte qu'une instance "vide" d'entre eux puisse être créée. Par exemple, si vous fournissez String.class
, une chaîne vide sera renvoyée, un Integer.class
renverra un entier dont la valeur initiale est zéro, et ainsi de suite. Mais comment créer des types primitifs (encadrés) à la volée? Comme ça? Est-ce que la seule solution est de parcourir tous les types primitifs possibles, ou existe-t-il une solution plus simple? Notez que les deuxCréation d'une instance primitive (encadrée) lorsque la classe est connue
int.class.newInstance()
et
Integer.class.newInstance()
jeter un InstantiationException
(parce qu'ils ne sont pas des constructeurs nulaires).
@Joonas: Ayez un autre regard maintenant :) –
Merci! Cela pourrait fonctionner :) –
Je pense que j'irais pour une chaîne? 'type == long.class? (Long) 0L: ', etc. –