Java equals() Methode

Diskutiere Java equals() Methode im Java Basics - Anfänger-Themen Bereich.
G

Gansa

Hallo, Ich schaue mir gerade die equals Methode an, habe das aus dem Buch Java ist auch eine Insel:

Java:
@Override
public boolean equals( Object o )
{
  if ( o == null )
    return false;

  if ( o == this )
    return true;

  Club that = (Club) o;

  return    this.numberOfPersons == that.numberOfPersons
         && this.sm == that.sm;
}
Ich verstehe nicht was der vergleich mit this sein soll. Was ist hier mit this gemeint ? Was wird da verglichen ?
 
A

advanced_java

Genau, aber du rufst eine Methode auf einem Objekt (das ist this) auf...

Nebenbei angemerkt.... schon spät, ich geh schlafen. :D Ggfs. schreibt man sich morgen.
 
L

lennero

Steht das echt so im Buch? Wenn du das Objekt mit einem Objekt einer anderen Klasse vergleichst, wird ne ClassCastException geworfen.

Java:
if (!(o instanceof Club))
    return false
Das sollte vor dem cast überprüft werden.
 
T

temi

Steht das echt so im Buch? Wenn du das Objekt mit einem Objekt einer anderen Klasse vergleichst, wird ne ClassCastException geworfen.

Java:
if (!(o instanceof Club))
    return false
Das sollte vor dem cast überprüft werden.
Das steht so im Buch, aber das was du richtigerweise schreibst, folgt dann direkt darunter ;)
 
A

advanced_java

Im Buch wird die Annahme getroffen, dass equals() nur mit homogenen Elementen aufgerufen wird, was in 95 Prozent der Fälle auch der Fall ist.
 
Thema: 

Java equals() Methode

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben