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 :

Question sur les variables.


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 11
    Points : 13
    Points
    13
    Par défaut Question sur les variables.
    Bonjour à tous,

    Voila je suis débutant en programmation java et je me posais une question qui va peut être vous paraitre bête !
    Je me lance, lorsque je transforme un argument int en String avec 3 variable i,j,k.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class VarsDemo {
    
    	public static void main(String[] args) {
    		
    int i=12;
    String j= new String();	
    j=j.valueOf(i);
    int k=Integer.valueOf(j).intValue();
    System.out.print("resultat="+ k);
    	}
    
    }
    Ma question est, pourquoi ma variable k fonctionne même si je ne précise pas "intValue" en fin d'instruction ?

    Merci d'avance, bonne journée !

  2. #2
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Car la méthode valueOf() retourne un Integer.

    Il faut bien comprendre que en Java il existe des int, qui est le type primitif, et des Integer qui est une Classe Java qui "englobe" un int (on dit que c'est un wrapper).

    Il existe un mécanisme interne a Java, qui se charge de passer d'un type primaire à un Objet, on appelle ça "l'Autoboxing" (primitif -> Objet). Et l'inverse est le "Unboxing" (Objet -> primitif).

    Ce mécanisme fonctionne pour tous les type primitif (double, Double)(int, Integer)...

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    C'est l'auto-unboxing.
    Si tu ne mets pas le intValue() explicitement, ça sera ajouté implicitement par le fait que tu produis une expression de type Integer et qu'il est attendu une valeur de type int.
    Uniquement depuis Java 1.5 comme indiqué dans la FAQ.

    Citation Envoyé par E.Delbaeth Voir le message
    une question qui va peut être vous paraitre bête !
    Non. Pas posée en ces termes. On ne peut pas savoir ça avant de l'avoir appris.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 11
    Points : 13
    Points
    13
    Par défaut
    Merci beaucoup pour vos réponses claires et rapides. C'est fou comme on peut rester bloqué sur ce genre de détail et perdre un temps fou !

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

Discussions similaires

  1. question sur les variables globales
    Par acik59 dans le forum C
    Réponses: 8
    Dernier message: 15/05/2007, 13h33
  2. Réponses: 2
    Dernier message: 24/10/2006, 22h12
  3. Question sur les variables passées par URL
    Par cotlod dans le forum Langage
    Réponses: 7
    Dernier message: 11/10/2006, 00h04
  4. [TP] Question sur les variables
    Par argon dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 16/02/2006, 07h27
  5. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59

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