Partage
  • Partager sur Facebook
  • Partager sur Twitter

Conversion d'un String vers un Integer.

Pourquoi rajouter .intValue() ?

Sujet résolu
    12 février 2012 à 14:28:17

    Bonjour,

    Je suis actuellement entrain de lire le tutoriel officiel sur Java, et je me pose cette question, pourquoi dans cette instruction doit-on rajouter un .intValue() pour obtenir un primitif de type entier?

    int k = Integer.valueOf(j).intValue();
    


    J'ai effectué un simple test en faisant un calcul avec des nombres de type 'int' et le JRE ne me renvoie pas d'erreur.

    public class Main {
    
    
    	public static void main(String[] args) {
    		
    		String unNombre = "25";
    		int i = 0;
    		int a=5, b=5;
    		int c=0;
    		
    		i = Integer.valueOf(unNombre);
    		
    		c=a+b+i;
    		
    		System.out.println("Valeur totale : " + c);
    	}
    
    }
    


    Valeur totale : 35


    Merci pour vos réponses.
    • Partager sur Facebook
    • Partager sur Twitter
      12 février 2012 à 14:30:23

      Parce que depuis Java 5, le compilateur ajoute automatiquement les conversions ("autoboxing") entre les types primitifs et les classes qui y correspondent.
      • Partager sur Facebook
      • Partager sur Twitter
        12 février 2012 à 15:02:45

        Salut,

        Parce qu'il faut faire la différence entre une classe et un type primitif.

        String et Integer sont des classes, et implémentes donc des fonctions de traitement en plus d'attributs : http://docs.oracle.com/javase/1.4.2/do [...] /Integer.html

        int est un type primitif, c'est un dire un type de base avec une place en mémoire fixe quand tu l'instancies.
        • Partager sur Facebook
        • Partager sur Twitter

        Conversion d'un String vers un Integer.

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown