[String] [ReplaceAll] comment despecialiser ?
Bonjour,
je veux remplacer une clé de type "$NOM" par sa valeur.
Mais je ne trouve pas comment despecialiser le '$'
J'ai déjà essayé :
Code:
1 2 3
|
flux.replaceAll("(\\$NOM)",vue.getNom());
flux.replaceAll("\\$NOM", vue.getNom()); |
si une personne connait la solution, j'en serai ravi !:)
merci
Re: [String] [ReplaceAll] comment despecialiser ?
Citation:
Envoyé par DeeJimy
Bonjour,
je veux remplacer une clé de type "$NOM" par sa valeur.
Mais je ne trouve pas comment despecialiser le '$'
Je m'excuse mais je ne comprends pas les termes "clés", "despécialiser" et "immutable"... En bref je n'ai pas compris le problème ni la solution, pourtant ça m'intéresse...
Quelqu'un peut-il prendre le temps de m'expliquer ? (Pour immutable j'imagine que ça veut dire qu'un String n'est pas transformable ?)
Merci d'avance
Re: [String] [ReplaceAll] comment despecialiser ?
clé -> basé sur le principe clé / valeur. On utilise une clé, à qui correspond une valeur particulière (qui varie selon les conditions).
déspécialiser -> Mot un peu bizarre dont je ne suis pas trop sûr de la définition. Mais je dirais que c'est l'action de transformer la clé en sa valeur.
Edit: Bon, c'est pas trop ça, donc voir les autres définitions...
immutable -> Les Strings sont des objets qui ne peuvent pas être modifiés (malgré l'apparence). En gros, quand tu concatènes (tu "colles") 2 Strings, en fait Java crée un 3e String qui contient les 2 Strings imbriqués.
Dans le présent cas, notre ami faisait
Code:
flux.replaceAll("(\\$NOM)",vue.getNom());
Or, comme un String est immutable, la méthode replaceAll ne peut pas modifier le String flux, et donc retourne une nouvelle String modifiée.
D'où l'importance de faire cela plutôt :
Code:
flux = flux.replaceAll("(\\$NOM)",vue.getNom());
C'est plus clair ?