bjr,
je voudrais savoir d'où vient l'ecriture de la creation d'un objet de type String (ex: String s = "toto") est ce que ça vient du langage c (char * s = "toto") ??
pourquoi je ne peux pas ecrire StringBuffer s = "toto"
bjr,
je voudrais savoir d'où vient l'ecriture de la creation d'un objet de type String (ex: String s = "toto") est ce que ça vient du langage c (char * s = "toto") ??
pourquoi je ne peux pas ecrire StringBuffer s = "toto"
String est une classe certes, mais aussi un type de base. Il existe des raccourcis syntaxiques pour la création des objets de ce type (idem depuis Java 1.5 pour les types primitifs).
StringBuffer est une classe ne représentant pas un type de base (et ce n'est pas une chaine de caractères). Tu ne peux pas faire
car cela revient à assigner à un StringBuffer unhe chaine de caractères, deux types différents en somme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part StringBuffer s = "toto"
Bonjour,
A savoir également que new String("plop") provoque la création de deux instances en mémoire (si c'est la première fois qu'on utilise plop). alors que si on utilise juste "plop" il n'y aura qu'une nouvelle instance en mémoire (si c'est la première fois qu'on utilise plop).
On doit cela aux pools de littéraux, un peu plus d'information ici : http://alaindefrance.wordpress.com/2...epresentation/
ok,
est ce que vous pouvez me dire comment sont stockés les objets en memoires, les champs,fonctions etc...
Pour les méthodes disponibles, il y en a beaucoup. Lis la JavaDoc de String. Pour les champs, il n'y en a pas qui te concerne.
Pour la représentation en mémoire, les String sont représentées de deux façons possibles :
- Un char[], tableau de char qui contient les caractères de la String, dans l'ordre.
- Une sous-chaîne : référence vers le char[] d'une autre String, avec un index de début et de fin. Du coup il faut se méfier quand on garde des sous-chaînes en mémoire : elles peuvent garder une référence vers une chaîne très grande qui ne sera pas enlevée de la mémoire.
quand je disais comment sont stockés les objets (ect.) en memoire, je parlais au niveau matériel (RAM). (les references des objets sont stockés dans le pile ?? etc?
Partager