[JAVA] een methode equals

Pagina: 1
Acties:
  • 179 views sinds 30-01-2008

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
ik moet zo'n soort methode maken:

Java:
1
2
3
  public boolean equals(Object other){
      return this == other;
  }


dit werkt dus niet. iemand die wel weet?

Multimonitor is relax :P


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Ja, alle waarden in het object vergelijken. Of hash value gebruiken.

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

sjonge wat een karige start. geef eens wat meer info.. wanneer moet het ding true geven.... waarschijnlijk heb je dan ook antwoord op je vraag want een duidelijke omschrijving daarvan is in een handomdraai in code om te zetten..

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
dit kan je uit de code afleiden. als de 2 objecten hetzelfde zijn, dan moet hij true retourneren, anders false

Multimonitor is relax :P


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

en wanneer zijn JOUW twee objecten hetzelfde? Want dat is waar het om draait hier

java kan absolut niet raden of twee objecten hetzelfde zijn. De definitie van hetzelfde kan namelijk altijd anders zijn.

We adore chaos because we like to restore order - M.C. Escher


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Je kan ook je beide objecten een goede hashCode returnen en dan aan de hand daarvan bepalen of ze gelijk zijn. Maar dan blijf je dus met het probleem zitten dat JIJ dan nogsteeds moet bepalen wat een object uniek maakt

We adore chaos because we like to restore order - M.C. Escher


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
hmm, nouja, ik denk dat ik toch alle waardes maar ga vergelijken als ik het zo zie

Multimonitor is relax :P


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

En een beetje meer respect graag. Als je het allemaal zo goed weet, waarom vraag je het dan? :)

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

Uit de source van java.lang.Object:
Java:
1
2
3
4
public boolean equals(Object obj)
{
   return (this == obj);
}

  • Canard
  • Registratie: Oktober 1999
  • Laatst online: 22-08 13:18
MeIsTwisted schreef op 15 oktober 2002 @ 11:34:
dit kan je uit de code afleiden. als de 2 objecten hetzelfde zijn, dan moet hij true retourneren, anders false
Ja, maar wat fladder bedoelt is hoe je "hetzelfde" definieert. Waarschijnlijk wil je een aantal properties van het object vergelijken, en als die hetzelfde zijn, kun je zeggen dat het object hetzelfde is... het is maar net hoe je het definieert..

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
aha, ik snap het. ik ga wel gewoon alle waarden vergelijken. dat moet ook lukken

Multimonitor is relax :P


  • whoami
  • Registratie: December 2000
  • Laatst online: 10:21
MeIsTwisted schreef op 15 oktober 2002 @ 11:30:
ik moet zo'n soort methode maken:

Java:
1
2
3
  public boolean equals(Object other){
      return this == other;
  }


dit werkt dus niet. iemand die wel weet?


Lees misschien even dit:
Welkom in P&W -> Quickstart (update 2/10/2002)

Dit topic lijkt gewoon teveel op een 'ik weet het niet en doe geen moeite, doen julle het even voor mij'.
Sorry, maar daarmee ben je nog niet thuis hoor.

https://fgheysels.github.io/


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 10:19

D2k

Alarmnummer schreef op 15 oktober 2002 @ 13:27:
[rml][ JAVA] een methode equals[/rml]

lordlarry geeft een foute argumentatie over equals afleiden aan de hand van hashcode. 2 identieke objecten moeten dezelfde hashcode opleveren, maar dat wil niet zeggen dat er geen andere objecten mogen zijn die dezelfde hashcode opleveren. In een worst case scenario zou je een stomme maar goed werkende hashcode altijd 1 kunnen laten opleveren. Je krijgt wel een waardeloze verdeling over je buckets, maar het is wel correct. Je kan wel een hashcode vergelijking gebruiken om de meeste andere objecten er al vast even uit te filteren, want als de hashcode niet gelijk is dan is het zeker niet hetzelfde object, maar je kan het dus niet alleen gebruiken om een equals te implementeren. En verder wordt de eeuwige null problematiek ook niet goed uitgelegd. Volgens de specs van sun, moet je equals ook een null object aankunnen.

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.