|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
[JAVA] - Implementazione metodo equals
ho uno dei soliti problemi apparentemente semplici ma ke non si riesce a capire perchè non funzionano......
Allora: In una classe OrdineKey avente solo due campi Stringa come dati (numOrdine e dataOrdine) ho implementato il metodo equals x vedere se un elemento è già presente in una collection ke usa i generics: Codice:
public boolean equals(Object that){
if ( this == that ) return true;
if ( !(that instanceof OrdineKey) ) return false;
OrdineKey thatOrdineKey = (OrdineKey)that;
return numOrdine==thatOrdineKey.numOrdine && dataOrdine==thatOrdineKey.dataOrdine;
}
però se uso il metodo contains x controllare se un oggetto è presente nella lista all'interno di un while non funziona una mazza.... pensa sempre ke l'oggetto non è presente.... Ora mi kiedo.... è possibile ke debba implementare anke il metodo hashCode???? ma allora perchè quando inserisco manualmente oggetti diversi nella lista ma con i valori dataOrdine e numOrdine uguali questi mi vengono riconosciuti correttamente come già presenti??????
__________________
|
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Jul 2003
Città: pisa
Messaggi: 141
|
sostituirei questo
Codice:
return numOrdine==thatOrdineKey.numOrdine && dataOrdine==thatOrdineKey.dataOrdine; Codice:
return numOrdine.equals(thatOrdineKey.numOrdine) && dataOrdine.equals(thatOrdineKey.dataOrdine); |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
è verò sono un coglione.....mi ero dimenticato ke erano stringhe!!! il bello è ke nella classe principale poco prima avevo giusto utilizzato .equalsIngoreCase x le stringhe!
__________________
|
|
|
|
|
|
#4 | |||
|
Senior Member
Iscritto dal: Oct 2000
Messaggi: 235
|
Quote:
La documentazione di hashcode() dice : Quote:
Quote:
ciao
__________________
...writing about climbing is boring. I would rather go climbing. (Chuck Pratt) |
|||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:45.











è verò sono un coglione.....








