Je peux obtenir l'identifiant unique comme className @ 2345 de mon objet en appelant sa méthode toString(), mais après avoir écrasé la méthode toString(), comment puis-je obtenir cet identifiant unique?Comment puis-je obtenir l'identifiant unique d'un objet après avoir écrasé sa méthode toString()?
Répondre
Vous pouvez appeler System.identityHashCode() et passer votre objet en paramètre, vous l'obtiendrez.
Si vous recherchez une implémentation d'une ligne toString() qui affichera également l'adresse className @, consultez Apache Commons ToStringBuilder.reflectionToString(). Ceci renvoie une chaîne au format: className adresse @ [field1 = valeur1, field2 = valeur2, ...]
Ce n'est pas une adresse mais un code de hachage. – joeslice
Plus précisément
obj.getClass().getName() + "@" + Integer.toHexString(System.identityHashCode(obj))
Ou juste public String identityString() { return super.toString(); } ? – Cowan
- 1. Comment nettoyer après avoir utilisé le dojo?
- 2. Automatique .toString() lors de l'appel d'une méthode?
- 3. Comment puis-je appeler une méthode JAXB après avoir terminé unmarshalling un fichier XML dans un objet?
- 4. C# meilleure façon d'appeler .ToString() sur un objet
- 5. Comment avoir une relation @OneToMany avec sa propre entité?
- 6. La méthode ToString() C# décimale est en désaccord
- 7. comment obtenir l'objet JSON en fonction de sa valeur
- 8. Après avoir surchargé l'opérateur ==, comment comparer si deux variables pointent sur le même objet?
- 9. SharePoint: Comment avoir une contrainte unique dans une liste?
- 10. Utilisateur unique après avoir renommé une base de données MS-SQL
- 11. Dépôt SVN écrasé
- 12. Méthode unique pour plusieurs types?
- 13. Après avoir utilisé la méthode jQuery ".css", comment la remettre à la normale?
- 14. explorer: comment surligner du texte après avoir utilisé la méthode pasteHTML?
- 15. Comment obtenir MethodInfo d'une méthode générique?
- 16. Comment trier un std objet :: vecteur par sa valeur flottante
- 17. FormView_Load étant écrasé C# ASP.NET
- 18. luaopen_my_example indéfini après avoir compilé swig wrapper
- 19. Fichier écrasé avec tar
- 20. Comment obtenir le func prototype après avoir sélectionné le func via omnicppcomplete?
- 21. Comment obtenir la taille de ma table après avoir appliqué les styles css
- 22. Détruire l'EnumBuilder après avoir créé une énumération?
- 23. Avoir une action retardée après avoir cliqué sur un formulaire
- 24. ajouter eventhandler à datepicker UI jquery après sa création
- 25. Comment appeler innerHTML après avoir modifié dans Firefox
- 26. une page site.master peut-elle avoir sa propre page site.master?
- 27. Obtenir l'ID unique de l'appareil
- 28. JQuery: Ouvrir le menu après avoir oscillé
- 29. rediriger .htaccess après avoir remplacé un mot?
- 30. Changer commande terminalinterface après avoir montré sur l'application qt/kdelibs
Bordel de LOUD, IL EST UNIQUE PAS. (désolé) –
True c'est juste un code de hachage et pas unique en effet. Mais dans la plupart des cas, je peux l'utiliser pour distinguer les objets. –
"Dans la plupart des cas" définit simplement la probabilité, pas quelque chose que vous comptez généralement dans le logiciel, sauf si vous écrivez du code pour le jeu ;-) – Robin