Visualizzazione dei risultati da 1 a 3 su 3

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    55

    da arraylist all'oggetto

    Ciao
    ho un arraylist di oggetti, di questi oggetti vorrei settare alcuni campi, mi spiego meglio....

    Giocattolo g1 = new Giocattolo();
    Giocattolo g2 = new Giocattolo();
    Torta to1 = new Torta();
    Torta to2 = new Torta();

    ArrayList ar1 (contiene g1 + g2 +to1 +to2)

    in pratica voglio fare un istanceof....

    if (tmp istanceof Giocattolo)
    tmp.setNome();

    if (tmp istanceof Torta)
    tmp.setPeso();


    ...so che questo codice non funziona ma spero di aver chiarito cosa voglio fare....


    come devo agire?

    grazie
    bb

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da blubossa Visualizza il messaggio
    in pratica voglio fare un istanceof....

    if (tmp istanceof Giocattolo)
    tmp.setNome();

    if (tmp istanceof Torta)
    tmp.setPeso();


    ...so che questo codice non funziona
    Non funziona solamente perché manca il cast effettivo per poter avere il tipo "statico" del tipo specifico per poter invocare il metodo di set.
    Se il ArrayList non usa i generics, per lui gli oggetti sono dei Object e Object ovviamente non ha un setNome, quindi non è legale tmp.setNome( .... );

    Ma se hai verificato con instanceof che tmp "è-un" Giocattolo, allora ha senso (e funzionerà a runtime), fare:

    codice:
    ((Giocattolo) tmp).setNome( ..... );
    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
    Feb 2012
    Messaggi
    55
    chiaissimo, grazie
    bb

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.