Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [java] list e contains

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [java] list e contains

    ciao , devo creare una lista di una serie di oggetti di una classe classedaconfrontare in modo che il metodo contains mi faccia il confronto di due campi tra 10 e solo quei due campi sono sufficenti se uguali perchè il metodo contains della lista ritorni true, gli altri li vorrei ignorare.
    In .net ho visto che basta implemnetare nella classe di confronto un interfaccia e un metodo in cui fare il confronto , all interno della classe da confrontare che è poi quella della lista List<classedaconfrontare>.
    Ho cercato di google e ognuno propone una diversa soluzione , vorrei trovare quella piu simile al .net se c'è se no come alternativa?
    ho visto qua:
    http://stackoverflow.com/questions/5...object-in-java
    ma non ho trovato quello che cerco.

    grazie.

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Prendi la tua "classedaconfrontare" e ridefinisci il metodo equals(Object) come meglio preferisci.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    Prendi la tua "classedaconfrontare" e ridefinisci il metodo equals(Object) come meglio preferisci.
    grassie

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Ricordati inoltre che se ridefinisci equals dovresti ridefinire anche hashcode() in modo da rispettare il contratto che lega i due metodi.

    http://stackoverflow.com/questions/2...shcode-in-java
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    Ricordati inoltre che se ridefinisci equals dovresti ridefinire anche hashcode() in modo da rispettare il contratto che lega i due metodi.

    http://stackoverflow.com/questions/2...shcode-in-java
    ok, capito , solo un altra cosa :
    è possibile fare degli overloads di equals con varie classi diverse e varie implementazioni in modo da poter confrontare classi diverse?
    o , e il mio caso è questo:
    ho
    String m_table e
    int id

    di tre classi che sono i dati che vorrei confrontare in equals (sono insert, update e delete), devo ereditare i miei comandi sql da una classe base con id e m_table e poi posso usare quella classe base per i confronti in modo polimorfico?

    quale è la via corretta (se c'è o ho sbagliato tutto?)

    grazie

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Non ho ben capito cosa intendi

    Il contains() (di ArrayList ad esempio) chiamerà sempre e solo equals(Object).

    Per "confrontare classi diverse" intendi confrontare un oggetto di tipo A con uno di tipo B? Ha poco senso, è come confrontare pere e mele... Spiega meglio quello che vuoi fare.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    si , scusa.
    Ho tre classi principali , una insert una update e una delete tutte definiscono due proprietà che devo usare id e table (e uso solo quelle) per il confronto.
    sono strutturate piu o meno alla stessa maniera , solo che la insert e la update hanno anche una hasmap chiave valore per i dati da inserire / cambiare sul db e a me questo nel confronto non interessa.
    ho pensato di creare una classe base con queste due proprietà (id e table) ed ereditare i miei tre comandi sql da questa.
    in particolare (è una classe che sincronizza dei dati da web service su android) devo fare in modo che se un id e una table sono in una lista di insert o update e sono anche in delete non inserisco l'insert o l'update perchè nelle delete ho gli oggetti che sono cancellati e quindi se un oggetto è per es in insert e in delete con lo stesso id e la stessa tabella non lancio la query per inserirlo , perchè sara subito dopo eliminato da una delete.
    Un altra strada era l'overload dell'equals su un oggetto delete
    scusa se mi sono spiegato male, ma ho fatto il possibile.
    ciao.

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.