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 int short


Sujet :

avec Java

  1. #1
    Membre habitué
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 188
    Points
    188
    Par défaut Question int short
    Bonjour à tous,

    vous trouver ci-dessous une question sur l'utilisation d'un short et int,



    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
     
     Given:
    11. public class Yikes {
    12.
    13. public static void go(Long n) {System.out.println(”Long “);}
    14. public static void go(Short n) {System.out.println(”Short “);}
    15. public static void go(int n) {System.out.println(int);}
    16. public static void main(String [] args) {
    17. short y= 6;
    18. long z= 7;
    19. go(y);
    20. go(z);
    21. }
    22. }
    What is the result?
    A. int Long
    B. Short Long
    C. Compilation fails.
    D. An exception is thrown at runtime.
    la réponse : A

    pouvez-vous m'expliquer pourquoi A et pas B ?


    Merci d'avance.

  2. #2
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,

    je n'est pas la réponse exacte, mais je pense tout simplement que le compilateur à estimer qu'il était moins couteux de passer le short en int plutôt que de faire de l'autoboxing (passage de short à Short) qui va au final créer un objet Short.

  3. #3
    Expert éminent sénior
    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 : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    parce que la promotion (passage d'un type N bits à un type >N bits pour les nombre) est testée bien avant l'autoboxing qui arrive en toute fin des opérations de conversion possible. Il y a une liste de priorité dans les JLS.

  4. #4
    Membre habitué
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 188
    Points
    188
    Par défaut
    Merci bien, tu peux me dire la liste de priorité dans les JLS?


    Merci.

  5. #5
    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
    Salut,


    Tout ceci est décrit dans les spécifications du langage : 5.3 Method Invocation Conversion

    a++

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

Discussions similaires

  1. conversion int -> short dans une méthode(short)
    Par 0redd dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 24/08/2010, 06h50
  2. Questions C++ : Short/Int et inline
    Par mister3957 dans le forum C++
    Réponses: 16
    Dernier message: 12/08/2008, 12h46
  3. Réponses: 6
    Dernier message: 07/05/2006, 21h42
  4. Réponses: 2
    Dernier message: 16/02/2006, 17h52
  5. short int et int
    Par gaut dans le forum C
    Réponses: 3
    Dernier message: 07/02/2004, 21h06

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