|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() François DelalleauÉtudiant Inscription : octobre 2012 Messages : 25 ![]() |
Bonjour à tous,
j'ai un soucis avec l'utilisation de Class. J'ai besoin , je pense, de passer un paramètre à la méthode .newIntance(). Je vous donne le code : Code :
Et tant que j'y suis, vaut-il mieux utiliser le throws ou un multi Try/catch? Je ne saisi pas bien les conséquences du choix... |
||
|
|
00
|
|
|
#2 | ||||||
![]() ![]() |
Citation:
Pour les constructeurs avec paramètre, il faut récupérer le Constructor correspondant, et s'en servir. La FAQ n'en parle pas, alors voici un petit exemple : Code :
Citation:
Normalement elles sont le résultat d'une erreur de programmation, elles ne dépendent que des programmeurs, qui n'ont pas respecté leurs propres conditions d'utilisation : la classe doit être une classe concrète, l'accès à ses constructeurs doit être autorisé. Du coup elles n'arriveront que tant qu'il y aura erreur de programmation, et pas ensuite. Elles ne peuvent arriver que pendant les phases de tests, pas plus tard. Du coup je les choperais toutes dans des catch(), qui masquerait ces exceptions dans une exception non déclarée, comme IllegalStateException (parce que avoir pris une classe ou un constructeur qui répond pas aux conditions, c'est un état inattendu et invalide) : Code :
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher du poisson, il videra le lac et au bout de deux ans son village ne mangera plus jamais. Partagez vos connaissances, mais aussi comment s'en servir. |
||||||
|
|
10
|
|
|
#3 |
|
Membre à l'essai
![]() François DelalleauÉtudiant Inscription : octobre 2012 Messages : 25 ![]() |
Merci! Je me doutais qu'il fallait passer par le constructeur, mais je n'arrivais pas à formuler la chose...
Reste un problème avant de passer en résolu : comment faire pour que le nombre et le type de paramètres soit défini soient trouvés tout seul? En admettant bien sur que leur valeur est défini de manière aléatoire, ou qu'on appel des boîtes de dialogue au fur et à mesure... |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() |
Tu peux utiliser Class.getConstructors() pour avoir tous les constructeur et les analyser si t'as besoin de savoir dynamiquement ce qui existe.
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir. |
|
|
10
|
|
|
#5 |
|
Membre à l'essai
![]() François DelalleauÉtudiant Inscription : octobre 2012 Messages : 25 ![]() |
Tout simplement...
Je passe en résolu, merci! |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com