Override equals Methode in java

Neue Frage »

Auf diesen Beitrag antworten »
Javanoob Override equals Methode in java

Meine Frage:
Hallo Leute,

ich habe gerade ein kleines Problem bei Java. Ich möchte gerne die eqauls-Methode überschreiben. Habe auch bereits den gesamten Quellcode, samt Fehler allerdings versteh ich nicht.

Fehlerhafter Code:
**
public boolean equals(Object a){
if (a instanceof Book2){
Book2 b = (Book2) a;
return (a.getTitle()).equals(b.getTitle());
} else
return false;
}
}
**

Der Fehler ist das vor dem getTitle allerdings wieso?

Meine Ideen:
Hier nochmal der gesamte Code:

public class BMS{
public static void main (String[] args){
Book2 x = new Book2("Hallo");
Book2 y = new Book2("Hallo");

if(x.equals(y)){
System.out.println("abcd");
}
}
}

class Book2 {

private String title;

public Book2(String title){
this.title = title;
}

public String getTitle(){
return title;
}

public boolean equals(Object a){
if (a instanceof Book2){
Book2 b = (Book2) a;
return (a.getTitle()).equals(b.getTitle());
} else
return false;
}
}
 
Auf diesen Beitrag antworten »
eulerscheZahl

a ist ein Object, hat also kein getTitle().
Du solltest b.getTitle() mit this.getTitle() vergleichen.
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »