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

avec Java Discussion :

convertir int en String


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 159
    Points : 68
    Points
    68
    Par défaut convertir int en String
    Bonjour, je souhaite charger une liste par un liste d'entier, pour cela j'ai fait le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    List annees = new ArrayList();
    	    for(i=1990;i<2030;i++)
    	    {	    	
                    String c=i.toString(); 
    	    	annees.add(new SelectItem(c,c));
    	    }
    Le problème c'est que je n'arrive pas a convertir avec la commande toString, j'ai l'erreur, " int cannot be dereferenced"

  2. #2
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 88
    Points : 106
    Points
    106
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String c = Integer.parseInt(i);
    un truc comme ca


    plus d'information :
    http://java.sun.com/j2se/1.4.2/docs/...g/Integer.html

  3. #3
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    Citation Envoyé par MrCba Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String c = Integer.parseInt(i);
    Heu ça, ça marche pas.

    Lui ce qu'il veut c'est convertir un int en string (Integer.parseInt fait l'inverse).

    intissar_g, il faut savoir que int n'est pas un objet mais un type primitif, par conséquent une variable de type int ne dispose pas de la méthode toString. En revanche tu peux convertir un int en String de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int monInt = 5;
    String monIntEnString = String.valueOf(monInt);

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Points : 574
    Points
    574
    Par défaut
    Bonjour,
    il faut utiliser la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String c = String.valueOf(i);

  5. #5
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 88
    Points : 106
    Points
    106
    Par défaut
    en effet, j'ai répondu un peu vite

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String str = Integer.toString(monint);

    Cordialement


    Dan

  7. #7
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Août 2007
    Messages : 77
    Points : 142
    Points
    142
    Par défaut
    Et pourquoi pas :
    int nb = 3;
    String str = nb +"";

  8. #8
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Lucio_ Voir le message
    Et pourquoi pas :
    int nb = 3;
    String str = nb +"";
    Parce qu'il y a des méthodes faites pour cela ! Pourquoi surcharger le code de concaténation inutile ???

    a++

  9. #9
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Août 2007
    Messages : 77
    Points : 142
    Points
    142
    Par défaut
    Je reconnais que c'est un peu un méthode de flemmard....
    Mais est-ce si dommageable pour le code?

  10. #10
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 88
    Points : 106
    Points
    106
    Par défaut
    Il me semble que pour des raisons d'optimisation il est déconseiller d'utiliser ce genre de méthode.

  11. #11
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Lucio_ Voir le message
    Mais est-ce si dommageable pour le code?
    C'est moins lisible et l'objectif n'est pas forcément très clair... alors qu'il existe des solutions faites pour cela.



    Citation Envoyé par MrCba Voir le message
    Il me semble que pour des raisons d'optimisation il est déconseiller d'utiliser ce genre de méthode.
    Cela sert à faire des concaténations de chaines et cela devrait se limiter à cela.

    Les problèmes surviennent lors d'utilisations abusives, comme la génération de grosse chaine via une itération il faut utiliser StringBuffer ou StringBuilder qui sont fait pour cela !

    a++

  12. #12
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    Bonjour,

    Je suis pret à bannir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String str = Integer.toString(monInt);
    de mes codes si quelqu'un veut bien m'expliquer pourquoi ce n'est pas recommandé. C'est pourtant très parlant.

    Cordialement

    Dan

  13. #13
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par danimo Voir le message
    de mes codes si quelqu'un veut bien m'expliquer pourquoi ce n'est pas recommandé. C'est pourtant très parlant.
    Personne n'a dit cela !

    C'est ce code que je trouve pas très parlant :
    a++

  14. #14
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 88
    Points : 106
    Points
    106
    Par défaut
    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
    18
    19
    20
    21
    	public static void main(String[] args) {
    		    // test indirect conversion
    		    final int iterCount = 10000000;
    		    long start = System.currentTimeMillis();
    		    for (int i = 0; i < iterCount; i++) {
    		      String s = "" + i;
    		    }
    		    System.out.println("Transformation int vers String par concaténation : "
    		      + (System.currentTimeMillis() - start) + " ms for "
    		      + iterCount + " iterations");
     
    		    // test Integer.toString
    		    start = System.currentTimeMillis();
    		    for (int i = 0; i < iterCount; i++) {
    		      String s = Integer.toString(i);
    		    }
    		    System.out.println("Transformation int vers String par Integer.toString "
    		      + (System.currentTimeMillis() - start) + " ms for "
    		      + iterCount + " iterations");		 
     
    	}
    donne comme résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Transformation int vers String par concaténation : 3031 ms for 10000000 iterations
    Transformation int vers String par Integer.toString 1719 ms for 10000000 iterations
    En conséquence passons par Integer...

  15. #15
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    Désolé adiGuba,

    Je croyais qu'aucune des réponses données était correxte et je trouvais ca dommage car je trouvais que c'était très parlant.

    Cordialement

    Dan

  16. #16
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    Et pendant qu'on y est (même si ce n'est pas le sujet), voici l'opération inverse (conversion String >> int) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     try
             {
                monInt = Integer.parseInt(monString); // si monString non num. >>> exception
                // ce qui en fait signifie que str ne contient pas QUE du num.
             }
                 catch (NumberFormatException nfe)
                {
     
                  ..... " non numérique ! ";
                }
    Cordialement

    Edit; (Lapsus)
    str = Integer.parseInt(monInt); a été remplacé par:
    monInt = Integer.parseInt(monString);
    Dan

Discussions similaires

  1. Convertir int to string
    Par hibou107 dans le forum Débuter
    Réponses: 3
    Dernier message: 16/01/2011, 11h45
  2. Convertir int en string ( 12 -> "0012" )
    Par TotorLeCastor dans le forum C#
    Réponses: 5
    Dernier message: 27/07/2009, 13h35
  3. convertir int en string en C++ linux
    Par Elstak dans le forum C++
    Réponses: 2
    Dernier message: 05/01/2008, 02h15
  4. [FAQ] Convertir int to String
    Par mamid1706 dans le forum C++
    Réponses: 2
    Dernier message: 09/05/2007, 15h20

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