Scelta tra arraylist

di maracaibo25 il
11 risposte
Salve ragazzi mi potreste dare una spiegazione riguardo questa domanda che adesso vi mando in allegato? grazie
arraylist.png
arraylist.png

11 Risposte

  • Personalmente non riesco a leggere. Evita gli screenshot
  • Si legge poco ma la B NON è sbagliata.
    Quella sbagliata è D ... guarda bene il add e la parametrizzazione del ArrayList.

    Se non hai compreso, ecco un equivalente del D:
    ArrayList<String> list = //..........
    list.add(new Object());
    posso aggiungerci un Object?
  • andbin ha scritto:


    Se non hai compreso, ecco un equivalente del D:
    ArrayList<String> list = //..........
    list.add(new Object());
    posso aggiungerci un Object?
    allora String è un oggetto quindi credo che si può aggiungere
  • oregon ha scritto:


    Personalmente non riesco a leggere. Evita gli screenshot
    ok scusami oregon
  • maracaibo25 ha scritto:


    allora String è un oggetto quindi credo che si può aggiungere


    No no ... allora, la D in screenshot è:

    ArrayList<Tiger> myList = .......
    myList.add(new Cat());

    In un ArrayList<Tiger> puoi SOLO mettere oggetti che sono: a) esattamente di tipo Tiger oppure b) SOTTO-tipi (se esistono) di Tiger.

    Ora: Cat è un sottotipo di Tiger???

    Guarda la gerarchia .....
  • oregon ha scritto:


    Personalmente non riesco a leggere. Evita gli screenshot
    qua si legge meglio
    A) ArrayList <Animal> myList = new ArrayList<> ();
        myList.add(new Tiger());
    
    B) ArrayList <Hunter> myList = new ArrayList<> ();
        myList.add(new Cat());
    
    C) ArrayList <Hunter> myList = new ArrayList<> ();
        myList.add(new Tiger());
    
    D) ArrayList <Tiger> myList = new ArrayList<> ();
        myList.add(new Cat());
    
    E) ArrayList <Animal> myList = new ArrayList<> ();
        myList.add(new Cat());
  • andbin ha scritto:


    Ora: Cat è un sottotipo di Tiger???

    Guarda la gerarchia .....
    no viene esteso
  • maracaibo25 ha scritto:


    no viene esteso
    Appunto ... è il contrario, è Tiger che estende Cat.
    E quindi in un ArrayList<Tiger> puoi mettere oggetti che stanno "sopra" Tiger come gerarchia???
  • andbin ha scritto:


    E quindi in un ArrayList<Tiger> puoi mettere oggetti che stanno "sopra" Tiger come gerarchia???
    seguendo quello che mi hai detto no
  • maracaibo25 ha scritto:


    seguendo quello che mi hai detto no
    Appunto .... e D è per ciò errata.
  • andbin ha scritto:


    Appunto .... e D è per ciò errata.
    grazie
Devi accedere o registrarti per scrivere nel forum
11 risposte