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 :

Besoin de réponse à quelques questions


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2015
    Messages : 58
    Points : 39
    Points
    39
    Par défaut Besoin de réponse à quelques questions
    Bonjour à tous,
    A la fin du cours de java le prof a posé cette question : Pourquoi il n'est pas possible en Java d'avoir des tableaux de types paramétrés? j'ai cherché sur internet mais en vain.Quelqu'un peut m'exploiquer?

    En plus,j'aimerai savoir pourquoi le code suivant affiche false(d'après mon raisonnement c'est parce qu'on a utilisé les wrappers qui sont des classes et donc des objets or les objets se comparent par leur référence.) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Integer i = 300;
          Integer j = 300;
          System.out.println(i == j);
    Merci d'avance pour vos éclaircissements.

  2. #2
    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,

    Citation Envoyé par Ja Rasta Voir le message
    A la fin du cours de java le prof a posé cette question : Pourquoi il n'est pas possible en Java d'avoir des tableaux de types paramétrés? j'ai cherché sur internet mais en vain.Quelqu'un peut m'exploiquer?
    Le type des tableaux est vérifié uniquement à l'exécution, ce qui en fait un code non-typesafe (c'est à dire qu'il peut générer des erreurs de typeage même si le code s'est compilé correctement).
    De plus ils ont un mécanisme d'héritage un peu biaisé (tout hérite de Object[] sans que cela ne soit cohérent).

    A l'inverse le type des Generics est vérifié uniquement à la compilation, et il est même "perdu" à l'exécution.
    Mais en contrepartie il est typesafe (si le code compile sans warning/erreur, il n'y aura pas d'exception lié aux types).

    Du coup si on mélange tableau et Generics on peut se retrouver dans des cas où l'on ne peut pas vérifier le type ni à la compilation ni à l'exécution, ce qui entraine un état incohérent de l'application.

    Du coup pour éviter au maximum ces problèmes, le langage ne permet pas d'instancier des tableaux Generics.



    Citation Envoyé par Ja Rasta Voir le message
    En plus,j'aimerai savoir pourquoi le code suivant affiche false(d'après mon raisonnement c'est parce qu'on a utilisé les wrappers qui sont des classes et donc des objets or les objets se comparent par leur référence.) :
    Tu as tout à fait raison : même s'ils représentent la même valeur, deux objets peuvent être stocké dans des emplacements différents et donc renvoyer false car l'opérateur == sur des objets vérifie l'identité et non pas l'égalité.

    A noter que le résultat dépend de l'implémentation puisque la JVM pourrait très bien mettre en cache les valeurs et affecter la même instance à i et j...


    a++

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2015
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2015
    Messages : 58
    Points : 39
    Points
    39
    Par défaut
    Merci infiniment ces explications sont plus que claires.

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

Discussions similaires

  1. Réponses: 21
    Dernier message: 21/09/2016, 17h29
  2. Comment recevoir rapidement une réponse à votre question ?
    Par Community Management dans le forum Windows
    Réponses: 3
    Dernier message: 17/08/2014, 03h28
  3. PyGame, quelques questions sans réponses
    Par Ziranium dans le forum Programmation multimédia/Jeux
    Réponses: 6
    Dernier message: 27/04/2011, 20h33
  4. [Vim] et C++ ; Réponses à des questions de Richard
    Par Luc Hermitte dans le forum Autres éditeurs
    Réponses: 13
    Dernier message: 20/01/2004, 00h32
  5. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 22h23

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