Bonjour,
Soit le bout de code suivant :
Dans ce bout de code, on définit un StringBuffer static final et donc pas modifiable, pourtant, à la fin de code on voit bien que sa valeur a été modifié.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public class Test { public static final StringBuffer style = new StringBuffer("original"); public static final String str = "tpto"; public static void main(String... argv) { Test t = new Test(); t.modify(style); System.out.println(style); } public void modify(StringBuffer sb){ sb.append(" modified"); } }
Je sais que String et immutable contrairement a StringBuffer et Stringbuilder.
comment fonctionne ce mecanisme...?
Partager