Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18
  1. #11
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    15
    Ho studiato l'ereditarietà. Il metodo values() ritorna una Collection, proprio una Collection e non una sua implementazione(documentazione ufficiale). Collection estende solo Iterable quindi la tua risposta non mi sembra centri molto visto che parli dei metodi di AbstractCollection, classe che estende e non è estesa da Collection.

  2. #12
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    15
    Il metodo è public Collection<V> values() quindi torna proprio una Collection(e se no perchè?)

  3. #13
    Allora se vuoi avere per forza ragione non chiedere aiuto in un forum.
    Dici che hai studiato L'ereditarietà e dici che quel metodo ritorna proprio una collection secondo te allora si possono instanziare le interfacce....
    Numero 2 io ti ho scritto che il metodo values di hashmap ritorna un inner class che estende AbstractCollection comunque dato che pensi di sapere tutto ti linko tutta la documentazione vienine fuori da solo.
    AbstractCollection javaDoc source
    HashMap values()

  4. #14
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    15
    Primao, io non voglio proprio per niente avere ragione (su cosa poi, sui miei dubbi?). Secondo, mi sembrava, abbastanza chiaramente, che il mio dubbip scaturisse proprio dalla impossibilità di istanziare una Collection, sennò non mi sarei posto alcun problema sui metodi da essa chiamata. Quarto, mi sembra piu che lecito per un neofita che guarda la documentazione standard e vede come parametro di ritorno Collection pensare che quel metodo torni una Collection e chiedersi che senso possa avere la cosa. Se sai spiegarmi cosa invece accade, e perché tale metodo ritorna una cosa divesa da quella scritta nella sua descrizione mella documentazione standard ti ringrazio, altrimenti so è capito che ne sai e non serve tirarsela. Buon Natale.

  5. #15
    Io non mi tiro nulla....
    Il problema è che tun non vuoi capire o non mi so spiegare oppure ti mancano le basi per capirlo.
    Continui a dire che quel metodo ritorna una cosa diversa da una collection, ha detto che hai studiato L'ereditarietà e quindi dovresti sapere che si può assegnare/ritornare un sottotipo ad una super classe ed è quello che avviene in quel metodo, quindi non capisco da dove scaturisce il tuo dubbio, perchè c'è l'hai tanto con sto metodo ? Che cosa ti ha fatto l'interfaccia Collection ?
    se vuoi sapere perchè i progettisti hanno deciso che quel metodo ritorni una Collection e non una List o un Array, su questo ovviamente posso fare solamente supposizioni, molto probabilmente viene fatto per dare omogeneità tra tutte le collection, infatti come già detto collection è un interfaccia comune a tutte le collezioni di oggetti come ArrayList,LinkedList etc...

  6. #16
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    15
    Quindi, correggimi se sbaglio, quel metodo non torna una Collection ma un oggetto di tipo Values che estende AbstractCollection che implementa Collection...giusto?

  7. #17
    Quote Originariamente inviata da francesco.muia Visualizza il messaggio
    Te lo spiegato nella prima risposta e come ti ho detto se non hai ancora studiato L'ereditarietà non lo potrai mai capire fino in fondo. Il concetto di fondo è che come hai ben notato che il tipo dichiarato in una classe può essere diverso a runtime.
    poi non è proprio vero che non è un collection, ma in pratica è una classe ,per quanto riguarda hashmap è un innerClass "Values", che estende AbstractCollection che a sua volta implementa collection. In AbstractCollection sono definiti i metodi come isEmpty, e altri nel tuo caso vengono definiti nella inner class Values
    Mi sembra che era il terzo post...
    si è esattamente così. A parte che ti sia chiaro che è a tutti gli effetti una Collection

  8. #18
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    15
    Si ho capito ora, grazie mille.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.