Ma question portait entre autres sur les variables de champ, � ceci pr�s que
j'�crirais cela ainsi :
Class classeObjet = getClass();
Field f = c.getDeclaredField("mon_str");
Class f_class = f.getType();
Dans ton exemple, tu demandais le nom de la classe dont f est membre, tandis
que
dans le mien je r�cup�re la classe du type de champ, ind�pendant lui de la
classe d�clarante. Si je ne me trompe pas,
dans ton exemple, normalement, classObjet = classMonStr, puisque la classe
o� un champ est d�clar� ("declared") est
aussi la classe qui le d�clare ("declaring"). Ceci pour le nommage.
En fait, le but de tout cela ? Voir s'il est possible d'�crire une fonction
New personnalis�e, comme :
String str = null;
str = New(str);
Gr�ce au type la fonction serait directement en mesure d'appeler la m�thode
NewInstance() par d�faut et renvoyer un
pointeur valide.
Sinon, oui j'ai appris l'informatique par le C, plus exactement par le C++ !
-----Message d'origine-----
De : Herve AGNOUX [mailto:[EMAIL PROTECTED]]
Envoy� : jeudi 25 avril 2002 14:56
� : [EMAIL PROTECTED]
Objet : Re: type d'un pointeur null
Le 25 Apr 2002 Zeljko VELAJA a �crit :
>
> Y a-t-il un moyen de conna�tre pendant l'ex�cution le type de mon_str,
> sachant que mon_str.getClass() va me renvoyer un NullPointerException
> ?
>
Tu peux te d�brouiller avec la reflexivit�, si ton mon_str est un
champ de l'objet. Mais si c'est c'est juste une variable de m�thode,
je ne vois aucun moyen.
Si tu as un champ dans un objet, �a te donne en gros :
Class classeObjet = getClass(); Field f =
c.getDeclaredField("mon_str"); Class classeMonStr =
f.getDeclaringClass();
Le "type de ton pointeur null" (t'aurais pas appris l'informatique
avec le langage C, par hasard ?? ), est indiqu� par classMonStr.
Et chemin faisant si un sp�cialiste des m�thodes de nommage de Sun
peut m'expliquer pourquoi dans un cas c'est getDeclaRED et dans
l'autre c'est getDeclaRING, cela me donnerait certainement l'occasion
d'�pater les coll�gues pendant une soir�e.
D'avance, merci, cela peut toujours �tre utile.
--
Sur le Web, tout de suite.
Herve AGNOUX - diaam informatique
http://www.diaam-informatique.com