Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Informatik in der Schule (http://www.informatikerboard.de/board/board.php?boardid=21)
--- Override equals Methode in java (http://www.informatikerboard.de/board/thread.php?threadid=3028)
Geschrieben von Javanoob am 13.05.2016 um 17:52:
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;
}
}
Geschrieben von eulerscheZahl am 13.05.2016 um 20:11:
a ist ein Object, hat also kein getTitle().
Du solltest b.getTitle() mit this.getTitle() vergleichen.
Forensoftware: Burning Board, entwickelt von WoltLab GmbH