Bonjour!
Je souhaite récupérer le nom d'un attribut dans un string... comment faire?
Exemple:
int taille = 3;
String nomDeLattribut = "taille";
Version imprimable
Bonjour!
Je souhaite récupérer le nom d'un attribut dans un string... comment faire?
Exemple:
int taille = 3;
String nomDeLattribut = "taille";
je crois que c'est possible avec l'api reflect (regarde la class Field)
Exactement, tu peux faire un
Plus qu'à savoir comment tu vas trouver ton Field...Code:
1
2
3
4 Field f = ... ... f.getClass().getCanonicalName();
A+
Excellent, en exploitant votre idée, j'arrive à récupérer exactement ce qu'il me faut...
par contre, encore une question.
Je souhaite récupérer le nom de l'instance d'une classe (le nom de l'objet quoi).
Exemple:
public class maClasse{
...
afficher le nom de l'instance
...
}
public static void main(String[] args) {
maClasse instanceDeMaClasse = new maClasse();
}
Voila, j'aimerai afficher la chaine de caractere "instanceDeMaClasse" en rajoutant du code dans la classe maClasse... c'est possible?
Merciii
Re,
Si c'est juste pour faire un test et voir qui a appelé ta calsse, tu peux faire:
Ca va t'afficher tout le stacktrace...Code:
1
2 Exception e = new Exception(); e.printStackTrace();
Sinon je sais pas trop comment faire!
A+
Ce n'est pas pour faire un test. En fait, je fais un genre de programme pour tracer un intergiciel d'eclipse...
Il me faudrait une solution transparente... qui ne fait pas intervenir les exceptions en tout cas... mais merci pour la proposition :D
D'autres idées?
En gros récupérer "instanceDeMaClasse" n'a pas de sens, dans le sens que ;)
Le nom de la variable n'est que le nom du pointeur de l'instance, donc l'instance ne peut connaitre les variables qui le référence.
Et si tu accèdes à ton instance c'est que tu le fais depuis une variable...
Est-ce suffisament clair ?
Oui, effectivement, c'est clair...
C'est vraiment problématique pour mon projet... :(
En passant par la machine virtuelle (en exécutant une trace de celle ci) ca devrait etre possible non?
Merci