Visualizzazione dei risultati da 1 a 8 su 8

Discussione: WARNING su casting

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    405

    WARNING su casting

    Ciao a tutti,
    Ho fatto un semplice programmino che alla fine salva un oggetto (Vector) dentro un file serializzandolo.

    Per riprendere l'oggetto memorizzato precedentemente faccio:

    codice:
    
             try{
                ObjectInputStream obj_in = new ObjectInputStream (f_in);
                Object obj = obj_in.readObject();
    
                if (obj instanceof Vector) 
    
                   Vector<Vector> records = (Vector<Vector>) obj;
               
             }
             catch(Exception e){}
    (f_in è ovviamente un istanza dell'oggetto FileInputStream)

    Che va bene, però mi da un WARNING nella compilazione

    codice:
    Note: db.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details
    Cosa devo modificare per togliere questo warning?


    Grazie mille!




  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: WARNING su casting

    Originariamente inviato da dail
    Cosa devo modificare per togliere questo warning?
    Ne ho già parlato qui e qui, ad esempio.
    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 L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Se usi una versione superiore alla 1.4 ti consiglio di non utilizzare un Vector, ma di usare altro, come una Collection tipizzata.
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    405
    purtroppo non risolvo, ho lo stesso warning...
    ho provato a mettere quell'istruzione:
    - all'inizio del file
    - all'inizio della classe
    - dentro la funzione (mi da errore però)

    niente dopo tutte queste prove sempre lo stesso warning.

    cosa posso fare?

    grazie mille

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    405
    Originariamente inviato da @DI3GO@
    Se usi una versione superiore alla 1.4 ti consiglio di non utilizzare un Vector, ma di usare altro, come una Collection tipizzata.
    perché i vactor non vanno bene?
    mi potresti fare un esempietto?

    grazie mille

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da dail
    perché i vactor non vanno bene?
    I Vector vanno benissimo. Dal tuo codice deduco che tu abbia un Vector di Vector ... ma di cosa?? Es. String? Altro?
    Quello che dovresti fare è tipizzare anche il Vector interno.

    Esempio:
    codice:
    @SuppressWarnings("unchecked")
    Vector<Vector<String>> records = (Vector<Vector<String>>) obj;
    E con la annotazione non avrai più warning. E se sei sicuro che l'oggetto deserializzato è davvero di quel tipo (ricordo che puoi solo testare eventualmente se l'oggetto è un Vector, non se è un Vector<Vector<String>> pittosto che un Vector<AltraCosa>) non avrai nemmeno problemi a runtime.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Originariamente inviato da andbin
    Quello che dovresti fare è tipizzare anche il Vector interno.
    Questo non lo sapevo..quindi chiedo scusa...
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    405
    è un Vector<Vector>

    Praticamente devo memorizzare dei dati come se fosse un database quindi

    record1
    record2
    record3

    ovviamente i record hanno più campi(quindi più elementi nel vector)

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.