IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

creation object String, StringBuffer


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Par défaut creation object String, StringBuffer
    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"

  2. #2
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StringBuffer s = "toto"
    car cela revient à assigner à un StringBuffer unhe chaine de caractères, deux types différents en somme.

  3. #3
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    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/

  4. #4
    Membre éclairé Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Par défaut
    ok,
    est ce que vous pouvez me dire comment sont stockés les objets en memoires, les champs,fonctions etc...

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par fantomas261 Voir le message
    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.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre éclairé Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Par défaut
    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?

Discussions similaires

  1. Probleme de conversion Object => String
    Par yo_haha dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 19/12/2011, 15h05
  2. Polymorphisme Object - String
    Par Oprichnik dans le forum Débuter avec Java
    Réponses: 13
    Dernier message: 08/03/2009, 13h16
  3. [Resource] Comment réussir un Binding sur un object string vide ?
    Par ikeas dans le forum Windows Presentation Foundation
    Réponses: 10
    Dernier message: 02/10/2008, 12h56
  4. conversion de type Object -> String
    Par wiss20000 dans le forum Langage
    Réponses: 3
    Dernier message: 11/04/2007, 00h15
  5. [java.lang] Object/String --> compareTo() ou equals()
    Par wdionysos dans le forum Langage
    Réponses: 17
    Dernier message: 17/01/2006, 23h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo