Methoden Überladen des .equals-Operators

Problem: Beim Override des Equal-Operators wird nur die Farbe berücksichtigt, wenn ich in der Main-Methode dann die Autos vergleichen will.

[CODE lang="java" title="AutoKlasse"]public class Auto{

private String farbe;
public int geschwindigkeit;

//Konstruktor
public Auto (String farbe, int geschwindigkeit){

this.farbe = farbe;
this.geschwindigkeit = geschwindigkeit;
}

public String getFarbe(){ //methode um auf farbe zuzugreifen
return farbe;
}

public int getGeschwindigkeit(){ //methode um auf geschw zuzugreifen
return geschwindigkeit;
}

String tempo = String.valueOf(geschwindigkeit);// speichern des int geschwindigkeit in String tempo damtit wir ihn unten mit equals vergleichen können ??????????

@Override
public boolean equals(Object obj){
if(this == obj){
return true;
}
if(obj == null || getClass() != obj.getClass()){
return false;
}

Auto auto = (Auto) obj;
return (farbe.equals(auto.farbe)) && (tempo.equals(auto.tempo)); //auf jeden fall doppeltes und, weil dann nur wenn beide wahr sind kommt auch true
}
}[/CODE]

[CODE lang="java" title="Main(verkürzt)"]public class Main{
public static void main(String[]args){

Auto auto1 = new Auto("blau", 230);
Auto auto2 = new Auto("blau", 236);

System.out.println(auto1.equals(auto2));
}
}[/CODE]

auto1.equals(auto2) gibt nur dann false wenn ich oben die Farbe ändere, es soll aber auch false angeben, wenn die Geschwindigkeit nicht stimmt (also nur dann true, wenn beides true ist).
 

LimDul

Top Contributor
Das Feld "temp" ist totaler Unfug.

Punkt 1: Es wird nur einmal beim erzeugen des Objektes gesetzt -damit ist es immer identisch bei allen Objekten
Punkt 2: Warum? Einfach die geschwindigkeit (mit ==) in der equals Methode vergleichen.
 
Hey, danke für die schnelle Antwort, was genau meinst du mit dem Feld "temp" ? Und den Punkt 2 hab ich auch schon mehrmals probiert, und es funktioniert trotzdem nicht (mit auto.geschwindigkeit==auto.geschwindigkeit). Hast du oder irgendwer vielleicht noch andere Vorschläge woran es liegen könnte bzw. kann mir jmd das nochmal genauer erläutern ?
Hab auch den Schnipsel in der Main, der mir das ja eigentlich sagt, dass eins der beiden schneller ist aber es kommt dennoch true am Ende aus, wenn ich sie dann mit equals() vergleiche.

Java:
        if (auto1.getGeschwindigkeit() > auto2.getGeschwindigkeit()){
            System.out.println("Auto Nr.1 ist schneller als Auto Nr.2 ! ");
        }
        else if (auto1.getGeschwindigkeit() < auto2.getGeschwindigkeit()){
            System.out.println("Auto Nr.2 ist schneller als Auto Nr.1 ! ");
        }
        else {
            System.out.println("Die Autos sind gleich schnell ! ");
 

DrPils

Bekanntes Mitglied
Wie sieht deine Auto Klasse jetzt aus?

String tempo = String.valueOf(geschwindigkeit);

Wird in deinem Konstruktor vor allen anderen zuweisungen ausgeführt und da ist der int geschwindigkeit eben noch 0.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Überschreiben und Überladen Java Basics - Anfänger-Themen 8
O Überschreiben/Überladen Methode Java Basics - Anfänger-Themen 6
D Zwei Generics beim Überladen von Methoden Java Basics - Anfänger-Themen 3
A Überladen von Konstruktoren Java Basics - Anfänger-Themen 2
H Überladen Verständnis Java Basics - Anfänger-Themen 3
N Überladen über mehrere Klassen hinweg? Java Basics - Anfänger-Themen 3
K Überschreiben und Überladen Java Basics - Anfänger-Themen 3
T Überladen von Methoden und Spezialisierung Java Basics - Anfänger-Themen 7
K Überladen und Überschreiben von Methoden Java Basics - Anfänger-Themen 3
G Überladen von Konstruktoren mit unterschiedlichen Datentypen Java Basics - Anfänger-Themen 4
S Überladen von Funktionen vermeiden Java Basics - Anfänger-Themen 5
K Überladen von Methodenaufrufen Java Basics - Anfänger-Themen 3
S Überladen des + Operators? Java Basics - Anfänger-Themen 6
G Keine Ahnung! Überladen? Java Basics - Anfänger-Themen 11
T Überladen Java Basics - Anfänger-Themen 2
Say Equals Java Basics - Anfänger-Themen 6
W LocalDate vergleichen mit Equals? Java Basics - Anfänger-Themen 7
W Equals-Methode überschreiben bei composition Java Basics - Anfänger-Themen 20
W Wann und warum hashcode und equals? Java Basics - Anfänger-Themen 14
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
J compareTo()- und equals-Methode Java Basics - Anfänger-Themen 3
S 2 Strings mit Equals vergleichen Java Basics - Anfänger-Themen 11
C Objekt1.equals(Objekt2) = immer false. Wieso? Java Basics - Anfänger-Themen 22
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
M Objekte mittels equals vergleichen Java Basics - Anfänger-Themen 14
S Interface Equals und hashCode Java Basics - Anfänger-Themen 16
G Java equals() Methode Java Basics - Anfänger-Themen 9
J equals funktioniert nicht - Warum Java Basics - Anfänger-Themen 13
B Date - Vergleich (equals / after) ? Java Basics - Anfänger-Themen 3
G Ratlosigkeit zur Aufgabe im Anhang (boolean, equals.) Java Basics - Anfänger-Themen 20
D Unterschied == und equals in Arrays Java Basics - Anfänger-Themen 2
O equals Methode möglichst effizient Java Basics - Anfänger-Themen 13
H equals methode Java Basics - Anfänger-Themen 1
L Logistiksystem Methode equals und hashcode Java Basics - Anfänger-Themen 20
J Methoden Equals Methode für Integer und Objekte überschreiben? Java Basics - Anfänger-Themen 9
M Erste Schritte Mehrere eingaben in einer Line vergleichen (if equals...) Java Basics - Anfänger-Themen 6
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
A OOP Richtige Verwendung von ArrayList und equals Java Basics - Anfänger-Themen 24
E equals Prüfung fehlgeschlagen Java Basics - Anfänger-Themen 3
C Objekt equals Java Basics - Anfänger-Themen 2
L String überprüfen mit .equals .contains oder .matches? Java Basics - Anfänger-Themen 1
H equals Methode Java Basics - Anfänger-Themen 1
F String equals NULL Problem Java Basics - Anfänger-Themen 4
D Auf equals von Vaterklasse zugreifen Java Basics - Anfänger-Themen 4
S Methoden equals(object o) / toString Java Basics - Anfänger-Themen 15
E Calender - Equals Problem Java Basics - Anfänger-Themen 14
T Datentypen compareTo() u. equals() bei Strings Java Basics - Anfänger-Themen 3
Psypsy hashCode, equals und toString Java Basics - Anfänger-Themen 3
K hashCode, compareTo vs. equals Java Basics - Anfänger-Themen 3
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
S Unterschiede zwischen equals und contains Java Basics - Anfänger-Themen 2
F Erste Schritte Hilfe bei Übung zu String equals() und Schleifen Java Basics - Anfänger-Themen 8
A Probleme mit equals und get.Text Java Basics - Anfänger-Themen 12
S compareTo() und equals() Java Basics - Anfänger-Themen 6
S equals Methode bei String Java Basics - Anfänger-Themen 5
R illegal start of expression - 3 Strings vergleichen mit .equals () Java Basics - Anfänger-Themen 5
K Cast bei equals Java Basics - Anfänger-Themen 2
T SQL equals Java Basics - Anfänger-Themen 4
OnDemand Methoden Equals Methde Java Basics - Anfänger-Themen 3
D if block mit equals im rumpf Java Basics - Anfänger-Themen 11
K Vererbung equals-Methode bei Vererbung abstrakter Klassen Java Basics - Anfänger-Themen 8
SexyPenny90 Wieso ist diese eigene Equals-Methode schlecht? Java Basics - Anfänger-Themen 17
K String - Equals Java Basics - Anfänger-Themen 2
J Klassen Warum ist (a.equals(b)) gleich (a==b)? Java Basics - Anfänger-Themen 13
B Warum gibst hier Equals false zurück ? Java Basics - Anfänger-Themen 23
S Verständnissfrage equals() Java Basics - Anfänger-Themen 2
R compareTo & equals Java Basics - Anfänger-Themen 10
M Verschiedene Möglichkeiten mit 'equals' abdecken? Java Basics - Anfänger-Themen 9
M Collections Problem bei Überschreibung von hashcode() und equals() bei Hashset-Implementierung Java Basics - Anfänger-Themen 5
W Stringvergleich mit equals Java Basics - Anfänger-Themen 13
C equals() Java Basics - Anfänger-Themen 4
D Problem mit string.equals bzw string.contains Java Basics - Anfänger-Themen 4
T Problem mit der while(!string.equals("x")) Java Basics - Anfänger-Themen 2
E Equals-Methode auf Class-Object Java Basics - Anfänger-Themen 17
X problem mit equals.gelöst Java Basics - Anfänger-Themen 2
J Methode equals() Java Basics - Anfänger-Themen 7
M Equals überschreiben Java Basics - Anfänger-Themen 3
K equals() und hashcode() überschreiben Java Basics - Anfänger-Themen 5
K equals in Hashmap() Java Basics - Anfänger-Themen 4
B if equals(irgendeine Zahl+Buchstabe) Java Basics - Anfänger-Themen 6
T equals() und hashCode() Java Basics - Anfänger-Themen 7
D probs mit clone und equals Java Basics - Anfänger-Themen 10
3 Collections containsKey() liefert false obwohl equals() true liefert Java Basics - Anfänger-Themen 6
N Vergleich per equals Java Basics - Anfänger-Themen 5
S comparable und equals Java Basics - Anfänger-Themen 7
M Frage zu Textvergleich (equals) Java Basics - Anfänger-Themen 8
G Strings vergleichen mit equals, geht das kürzer? Java Basics - Anfänger-Themen 4
B Frage zu Funktion mit equals Java Basics - Anfänger-Themen 17
D Eigene equals methode schreiben Java Basics - Anfänger-Themen 4
J Gibt es eine möglichkeit ähnlich wie .equals(bedingung1 ||bedingung ..n) ? Java Basics - Anfänger-Themen 5
D "2010–03–12".equals( "2010-03-12" ) Java Basics - Anfänger-Themen 6
X Frage zur Implementierung von equals() Java Basics - Anfänger-Themen 2
T Problem mit equals Java Basics - Anfänger-Themen 5
K Equals,Instanceof und "==" Java Basics - Anfänger-Themen 7
C warum liefert equals kein TRUE Java Basics - Anfänger-Themen 12
E Java hashCode equals Problem Java Basics - Anfänger-Themen 2
S equals vergleich Java Basics - Anfänger-Themen 10
H Equals hascode Java Basics - Anfänger-Themen 5
S Equals Downcast? Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben