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 :

sur les String


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 85
    Par défaut sur les String
    salut,
    j'ai un souci sur l'implémentation du code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String  S = "une valeur";
    je ne pense pas qu'il est équivalent au :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String S = new String ("une valeur");
    merci

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    non, mais en pratique on utilise jamais la deuxième notation et ca ne fait une différence que dans de très rares cas.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    String s1 = "une valeur";
    String s2 = "une valeur";
    String s3 = new String("une valeur");
    String s4 = new String("une valeur");
    (s1==s2)  // vrai
    (s3==s4)  // faux
    (s1.equals(s2))  // vrai
    (s3.equals(s4))  // vrai

  3. #3
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 85
    Par défaut
    Citation Envoyé par tchize_ Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String s1 = "une valeur";
    String s2 = "une valeur";
    (s1==s2)  // vrai
    salut
    pas d'accord, s1 == s2 donne false. s1,s2 ne référencent pas le même objet!.
    String s2 = "une valeur"; //ce code me semble créér un autre objet différent de s1.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    non justement, c'est ca la différence avec les new String. Les valeur immédiates passent par String.intern(), qui te garanti que c'est la meme instance. Ce qui a comme effet accesoire de diminuser la charge mémoire quand un meme string est utilisée à beaucoup d'endroit du programme

  5. #5
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 85
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    non justement, c'est ca la différence avec les new String. Les valeur immédiates passent par String.intern(), qui te garanti que c'est la meme instance. Ce qui a comme effet accesoire de diminuser la charge mémoire quand un meme string est utilisée à beaucoup d'endroit du programme
    tout à fait . je viens de tester cela sur eclipse.
    merci infiniment pour ces informations et surtout String.intern().

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Pour info, la notation new String("aaa") est surtout utile quand on joue avec les substring et qu'on n'a plus besoin de l'espace alloué au String initial.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Operation sur les String en Delphi .net
    Par koul dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 07/08/2008, 12h56
  2. [JSP + EL] Opérations sur les String
    Par phoebe dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 16/05/2007, 15h26
  3. Pb sur les String entre navigateurs
    Par chpog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/09/2005, 10h59
  4. [Debutant] Pb sur les string
    Par chpog dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 16/09/2005, 12h03
  5. Realiser des tests exhaustifs sur les String
    Par Sarrus dans le forum Langage
    Réponses: 9
    Dernier message: 07/07/2005, 11h52

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