Visualizzazione dei risultati da 1 a 10 su 15

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    81
    allora detto ciò meglio che spiego qual'è il mio problema perchè veramente nn sto ricavando un ragno da un buco.
    Ho una classe "procelement" ,che viene estesa da circa 2 classi: Task; SendTask. Mi viene chiesto di implementare un metodo "crea array" di una classe "Prova"(avente come variabili ArrayList<Task>; ArrayList<SendTask>") in cui devo costruire un arraylist di procelement. Questo deve essere utilizzato da un altro metodo(chiamato "populate") in modo da verificare che tipo di oggetto è e poterlo inserire nell'arrayList specifo a quell'oggetto. come posso fare per fare questo? io ho pensato di creare l'oggetto nella classe procelement inserirlo in un arrayList di proclement e passarlo al metodo populate che verifica di che istanza è gli oggetti nell'arrayList solo che non mi fa aggiungere (giustamente) un oggetto di tipo procelement nell'arrayList<Task>/arrayList<SendTask>
    Ultima modifica di simo9115; 03-05-2016 a 11:08

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da simo9115 Visualizza il messaggio
    Ho una classe "procelement" ,che viene estesa da circa 2 classi: Task; SendTask. Mi viene chiesto di implementare un metodo "crea array" di una classe "Prova"(avente come variabili ArrayList<Task>; ArrayList<SendTask>") in cui devo costruire un arraylist di procelement.
    Scusa ma così non ha molto senso (né è granché chiaro). Se un ArrayList è parametrizzato <Task> o <SendTask> e questi due tipi sono sotto-tipi di questa ProcElement (o come l'hai chiamata) .... allora vuoi dire che il ArrayList così parametrizzato NON può contenere oggetti istanziati come ProcElement.
    ArrayList<Task> può solo contenere oggetti Task o sotto-tipi di Task. Non qualcosa che è un super-tipo di Task.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    81
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Scusa ma così non ha molto senso (né è granché chiaro). Se un ArrayList è parametrizzato <Task> o <SendTask> e questi due tipi sono sotto-tipi di questa ProcElement (o come l'hai chiamata) .... allora vuoi dire che il ArrayList così parametrizzato NON può contenere oggetti istanziati come ProcElement.
    ArrayList<Task> può solo contenere oggetti Task o sotto-tipi di Task. Non qualcosa che è un super-tipo di Task.
    appunto quello che penso pure io...però quello sopra riportato è quello che mi è stato detto di fare...è per questo che chiedo aiuto in modo che posso trovare una soluzione a questo problema

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da simo9115 Visualizza il messaggio
    in modo da verificare che tipo di oggetto è e poterlo inserire nell'arrayList specifo a quell'oggetto.
    Rileggendo questa frase, allora la questione è questa. Innanzitutto non so se la ProcElement è astratta o no. E se non lo è, se andrai ad istanziare oggetti ProcElement.

    Se i tuoi oggetti istanziati sono solo dei Task o SendTask e un tuo metodo li "vede" solo come tipo ProcElement (insomma a livello più generico), allora può avere senso andare a verificare che tipo di oggetto è realmente (Task o SendTask), quindi fare un cast e inserirlo nel rispettivo ArrayList. Questo sì, è possibile. Se un oggetto è realmente un Task, allora ha senso ed è lecito metterlo in un ArrayList<Task> !
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2026 vBulletin Solutions, Inc. All rights reserved.