Usage de la méthode toString() sur un objet String - Java - Programmation
Marsh Posté le 13-09-2005 à 15:11:51
Ne pas confondre String (l'objet) et string (le type).
Quand tu fais un toString tu fais: String->string
Marsh Posté le 13-09-2005 à 15:14:38
thecoin a écrit : Ne pas confondre String (l'objet) et string (le type). |
Citation : |
toString renvoie un objet de type String.
Et tu es sûr que string existe (un type primitif) ?
Marsh Posté le 13-09-2005 à 15:31:20
On utilise traditionnelement toString en java non pas pour faire une conversion, mais pour imprimer un objet quelqu'il soit, laissant libre choix au programmeur pour donner une representation imprimable.
Marsh Posté le 13-09-2005 à 17:02:41
thecoin a écrit : Ne pas confondre String (l'objet) et string (le type). |
Et la marmotte...
jogrey +1
Marsh Posté le 13-09-2005 à 17:23:50
jogrey a écrit : On utilise traditionnellement toString en java non pas pour faire une conversion, mais pour imprimer un objet quelqu'il soit, laissant libre choix au programmeur pour donner une representation imprimable. |
Bon d'accord, je comprends l'utilité pour un objet qui n'est pas directement imprimable.
Mais pour un objet de type String ?
Marsh Posté le 13-09-2005 à 17:28:41
Pour faire un clone de ton objet string peut-être ?
(enfin, je dis ça mais j'y connais pas grand chose au java)
Marsh Posté le 13-09-2005 à 17:30:05
C'est l'usage. Tu peux vouloir imprimer "une chaine a telle adresse de telle taille" plutôt que son contenu...
Aussi parceque String hérite de java.lang.Object qui possede un toString()
Marsh Posté le 13-09-2005 à 17:30:39
charly007 a écrit : Bon d'accord, je comprends l'utilité pour un objet qui n'est pas directement imprimable. |
Code :
|
ca te dit quelque chose ??
Si oui, http://java.sun.com/j2se/1.4.2/doc [...] bject.html et http://java.sun.com/j2se/1.4.2/doc [...] tring.html
Marsh Posté le 13-09-2005 à 17:42:08
senternal a écrit :
ca te dit quelque chose ?? |
OK, je vois l'intérêt de l'avoir surchargée.
Donc, pour répondre complètement à ma question, je peux très bien utiliser l'objet String directement dans une méthode qui attend un String en paramètre.
Merci.
Marsh Posté le 13-09-2005 à 19:08:00
charly007 a écrit : je peux très bien utiliser l'objet String directement dans une méthode qui attend un String en paramètre. |
Marsh Posté le 13-09-2005 à 21:16:41
ex : au lieu d'écrire :
Citation : |
Je peux écrire :
Citation : |
Je dis une bêtise ?
Marsh Posté le 13-09-2005 à 21:30:42
Pas spécialement, mais je crois que la chose semble relativement logique à la majorité des participants du topic.
J'veux dire qu'on a du mal à voir ce qui peut être étonnant dans le fait de fournir un String à une fonction demandant un String
(et "le surchagé" n'a ici pas d'intérêt spécial, c'est juste que tous les objets de la lib standard Java dérivent de java.lang.Object)
Marsh Posté le 13-09-2005 à 21:31:19
Non, c'est bien correct, on a bien compris, mais l'idée de faire un toString sur un objet de type String est pour le moins... surprenante.
Masklinn résume mon état d'esprit.
Marsh Posté le 13-09-2005 à 21:36:31
sircam a écrit : Non, c'est bien correct, on a bien compris, mais l'idée de faire un toString sur un objet de type String est pour le moins... surprenante. |
OK, tu m'as fait peur.
J'ai récupéré du code avec cette pratique, alors je me posais cette question
Merci.
Marsh Posté le 13-09-2005 à 22:31:03
charly007 a écrit : OK, tu m'as fait peur. |
On veut des noms
Marsh Posté le 13-09-2005 à 22:42:19
La méthode toString peut être tout à fait utile même pour un objet de type String
Imaginons un vecteur d'objets où tu vas placer des Integer, des doubles, des String etc.
Tu pourras appeler la méthode toString sur tous les éléments du vecteur (puisque toString est à la base une méthode héritée de la classe Object)
Marsh Posté le 14-09-2005 à 10:16:03
900cbr555 a écrit : La méthode toString peut être tout à fait utile même pour un objet de type String |
Merci de ne pas utiliser le toString pour "caster" vos pseudo-types primitifs...
Marsh Posté le 14-09-2005 à 15:18:46
900cbr555 a écrit : ce n'était qu'un exemple |
Oui, mais c'est encore différent que d'appeler explicitement toString() sur un objet déclaré String, hein.
Marsh Posté le 13-09-2005 à 15:04:47
Bonjour,
J'aimerais savoir à quoi peut bien servir cette méthode sur un objet String et dans quels cas il faut l'utiliser.
Findbugs me dit : "Appeler String.toString() est juste une opération redondante. Utilisez directement l'objet String".
J'hésite à suivre son conseil
Merci
Message édité par charly007 le 13-09-2005 à 15:36:12