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 :

Définition de la méthode add ?


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 84
    Par défaut Définition de la méthode add ?
    Bonjour,

    j'aimerais trouver la définition de la méthode public boolean add(E) qui est déclarée dans l'interface Collection<E> si j'ai bien compris. J'ai regardé sur internet et ce serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public boolean add(E element){
        throw new UnsupportedOperationException();
    }
    Cette méthode est définie ds AbstractCollection<E>, mais je comprends pas très bien le code: elle se résume à lever une exception ok mais où est le code correspondant à ajouter l'élément ???
    Merci.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    - Il n'y a pas de définition pour Collection, parce que Collection est une interface, et que le principe d'une interface c'est d'annoncer les méthodes qu'elles propose, sans les définir.

    - La définition dans AbstractCollection ne fait rien d'autre que lancer une Exception, parce que c'est le comportement le plus utile pour une Collection dont on a pas précisé si c'est un Set, une List, autre chose, et s'il n'y a pas des contraintes dessus (comme par exemple que cette collection ne puisse pas être modifiée ou que sa taille doive être constante.)

    - Si tu veux un exemple de méthode add(), il faut regarder pour quelle classe concrètement, et non pas pour les interfaces qu'elle implémente ou pour ses classes parentes. Parce que ce ne sera jamais pareil.
    Par exemple HashSet, TreeSet, ArrayList, LinkedList, etc.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre émérite Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Par défaut
    cela dit, "add" pour une Collection, en principe ça ajoute un élément à une Collection, ou alors les mots n'ont plus de sens...

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    Oui, et "démarrer" pour un appareil, en principe ça démarre l'appareil, sinon ça ne veut plus dire grand-chose.
    Il n'en reste pas moins que démarrer une télé et démarrer un tracteur se font de manière complètement différente et ont des effets qui n'ont rien à voir l'un avec l'autre. Pourtant l'appareil a bel et bien été démarré et l'un des effets et qu'il est à présent utilisable.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    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 : 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
    Par défaut
    Citation Envoyé par JoeChip Voir le message
    cela dit, "add" pour une Collection, en principe ça ajoute un élément à une Collection, ou alors les mots n'ont plus de sens...
    D'ou le "UnsupportedOperationException" qui exprimer clairement que l'AbstractCollection n'a pas la moindre idée de comment effectuer le add().

    Ceci dit, il aurait probablement été plus propre que la méthode reste abstraite

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    Propre certainement, pratique ça se discute.

    À chaque fois que je crée une nouvelle Collection, je suis bien content de ne pas devoir me copier/coller encore une fois la méthode add() avec son throw new UnsupportedOperationException.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    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 : 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
    Par défaut
    je crée rarement des nouvelles classes collections, et encore plus rarement des nouvelles collections en lecture seule

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

Discussions similaires

  1. Méthode add() de l'objet select
    Par webrider dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/01/2008, 14h01
  2. Méthode add de l'objet AllowEditRange fonctionne... maintenant
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/09/2007, 12h58
  3. méthode add dans une classe héritant de ArrayList
    Par sliderman dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 05/06/2007, 09h27
  4. [Zip] Erreur avec la méthode add() de PclZip
    Par Anduriel dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 20/01/2007, 16h42
  5. surcharge de la méthode Add d'une List
    Par Anto03 dans le forum C#
    Réponses: 4
    Dernier message: 19/01/2007, 14h12

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