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 :

String est-il un wrapper ?


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Par défaut String est-il un wrapper ?
    Ma question est dans l'intitulé. Peut-on considérer la classe String comme un wrapper ?
    Je me pose cette question car Character est la classe wrapper du type primitif char et String est un tableau de char.

    Merci de vos explications.

  2. #2
    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
    On peut le considérer, mais officiellement ce n'est pas le cas, pour plusieurs raisons, dont la principale étant que l'on ne peut modifier un String (c'est une classe immuable), tandis qu'on peut modifier un élément d'un tableau de char.

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Par défaut
    Merci dingoth pour votre réponse.

    Mais les wrappers (les vrais) sont-ils aussi inmutables ? Autre question adjacente, les types primitifs sont-ils inmutables ?

    Désolé si je semble ne pas avoir bien compris vos explications.

    Merci

  4. #4
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Oui, les types wrappers (Integer, Character, Float, ...) sont immutables.
    On parle d'immutabilité au sujet d'une classe pour signifier qu'il est impossible de modifier l'état d'une instance d'une telle classe, une fois l'instance construite.
    Pour un type primitif, la question ne se pose pas car une valeur d'un type primitif existe sans avoir besoin d'être instanciée. D'un autre côté, on est certain, par exemple, que la valeur 3, du type primitif int, est immutable et vaudra toujours 3 tout au long de l'exécution du programme

  5. #5
    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
    pour les wrappers de type primitifs, tu a l'équivalence suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int i1=0;
    Integer i2= new Integer(0);
    i1=2;
    i2=new Integer(2)

    Par contre avec les tableau de char tu as

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char[] c= new char[] {'a','b','c','d','e'};
    c[2]='U';
    qui n'a pas d'equivalence avec String.

    Maintenant, la définition d'un Wrapper est large, c'est un classe qui agit comme une coque autour d'une donnée. On peut très bien écrire n'importe quelle wrapper autout de n'importe quoi... Donc je suis pas sur de savoir ce que tu cherche.

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Par défaut
    C'est bon j'ai compris. Merci.

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

Discussions similaires

  1. Comment savoir si un String est un Float
    Par ludovic tambour dans le forum Débuter
    Réponses: 8
    Dernier message: 14/12/2005, 13h36
  2. Savoir si un string est un numérique
    Par Homer dans le forum Langage
    Réponses: 3
    Dernier message: 05/10/2005, 16h21
  3. [C#]Fonction vérifiant qu'1 string est contenue ds 1 autre
    Par closo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/06/2005, 13h41
  4. Savoir si une string est un nombre
    Par SteelBox dans le forum SL & STL
    Réponses: 10
    Dernier message: 14/02/2005, 19h59
  5. Comment tester qu'un objet String est bien initialisé
    Par Jones dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 17/09/2004, 11h29

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