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 :

Cast Objet.int => Integer


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 1
    Par défaut Cast Objet.int => Integer
    Bonsoir,
    Je suis nouveau, tous est dans le titre. Comment fait-on pour convertir une methode non statique retournant du int en Integer ? Eclipse me dit que ce n'est pas possible ? Je ne comprend la subtilité entre int et Integer ? Si la methode retourne du int c'est que la métode retourne un type primitif, et que au final, c'est ce que je veux faire, je peux les comparer avec un littéral ????
    Merci pour votre aide.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2011
    Messages : 7
    Par défaut
    Je ne comprends pas très bien ce que tu essaye de faire, si tu avais mis le code avec lequel tu as de la difficulté dans ton message ça aurait été beaucoup plus facile de t'aider...
    Cependant, je pense que tu n'as pas cherché beaucoup sur le sujet, donc je vais t'expliquer d'abord quelle est la différence entre un int et un Integer.
    Un int et un Integer ne sont PAS la même chose. Ceci vaut aussi pour les float et Float, les double et Double, les long et Long.
    Un int est un primitif, en fait c'est une donnée optimisée pour les calculs et c'est très léger.
    Un Integer est un OBJET qui représente un int défini, c'est beaucoup plus lourd que le int mais ça a son utilité (dans une List ou une Map par exemple).
    Je ne vois pas pourquoi tu veux faire un cast d'un vers l'autre alors que tu peux directement faire des comparaisons, etc...
    Tout ce qui suit fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    int i1 = 1;
    Integer i2 = 3;
    if(i1 == i2){
        //faire quelque chose...
    }
    i1 = i2;
    Integer i2 = new Integer(i1);
    i2 ++;
    if(i2 > i3){
        //faire quelque chose...
    }
    Si ça ne répond pas à ta question, prière de reformuler ou d'afficher le code avec lequel tu as de la difficulté.

  3. #3
    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
    Il vaut mieux éviter de comparer des Integer et mettre des cast explicites vers int. Bien que tous les code que vous avez donné fonctionne, celui-ci pose problème, alors autant le savoir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	    	Integer i1 = 1;
    	    	Integer i2 = new Integer(i1);
    	    	if(i2 == i1) //false
    	    		System.out.printf("%d == %d\n",i1,i2);
    	    	else
    	    		System.out.printf("%d != %d\n",i1,i2);
    	    	if((int)i2 == (int)i1)  //true
    	    		System.out.printf("%d == %d\n",i1,i2);
    	    	else
    	    		System.out.printf("%d != %d\n",i1,i2);
    Bref, faut être certain de son coup pour comparer des objets

Discussions similaires

  1. Cannot cast from int to Integer
    Par flotho dans le forum Jasper
    Réponses: 2
    Dernier message: 11/11/2009, 20h39
  2. [débutant] cast string->int
    Par gigigao dans le forum Visual C++
    Réponses: 8
    Dernier message: 23/08/2006, 11h47
  3. [Language]Cast de int en Object ?
    Par BouB dans le forum Langage
    Réponses: 5
    Dernier message: 22/12/2005, 17h41
  4. [Delphi 7] Transtypage d'un pointer objet vers un integer
    Par raoulmania dans le forum Langage
    Réponses: 2
    Dernier message: 09/12/2005, 14h28
  5. Cast de string vers Integer
    Par MachProd dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 16/11/2005, 15h55

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