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++
Je suis passé vite fait là dessus: "Find all the java.lang.Class objects associated with a particular class in the Java runtime". Ca prête un peu à confustion je trouve (find objects associated to a class), mais tu as raison. A regarder les méthodes, ce sont des helpers pour manipuler les Class. Rien de bien sorcier d'une part et rien qui traite la question...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager