Bonjour,
Tout est dans le titre. Je veux récupérer l'instance d'une classe dont j'ai le toString() par défaut (mon.package.MaClasse@hashCodeEnExa).
Est-ce possible ?
Si oui, comment ?
Bonjour,
Tout est dans le titre. Je veux récupérer l'instance d'une classe dont j'ai le toString() par défaut (mon.package.MaClasse@hashCodeEnExa).
Est-ce possible ?
Si oui, comment ?
Salut,
Pas sûr de comprendre ce que tu veux :
- Tu veux récupérer n'importe quelle instance de la classe ? Dans ce cas ce doit être possible avec la reflection si le type est instanciable.
- Tu veux récupérer l'instance exact qui a généré ce toString() ??? Dans ce cas c'est impossible IMHO.
a++
Ma première réaction a été de penser que ça n'est pas possible parce qu'il faut d'une manière où d'une autre parser la table d'allocation de la JVM et je ne connais pas d'API dans le JDK qui permette ce genre de manipulations.
Mais j'ai regardé un peu le net et je suis tombé là dessus: http://publib.boulder.ibm.com/infoce...assFinder.html
Si IBM arrive à faire un code qui permet d'obtenir la liste de toutes les instances d'une classe donnée, c'est que ça doit bien être réalisable. Ensuite, c'est simple dans cette liste de trouver la bonne instance...
Maintenant, je ne sais pas (encore) comment il ont fait ça.
BiM : détaille ton problème
Yomhgui : il y a des chances que ce soit spécifique à leur JVM
Sinon c'est peut-être possible via les outils de monitorings, mais c'est vraiment sortir l'artillerie lourde !!!
a++
Partager