compareTo

Status
Nicht offen für weitere Antworten.
G

gast

Gast
hallo,

wie vergleicht man richtig? so:
Code:
	public int compareTo(Kunde kunde)
	{
		Kunde neuerKunde = new Kunde();
		if(kunde == null)
			return 1;
		if(name.compareTo(neuerKunde.name) == 0 && vorname.compareTo(neuerKunde.vorname)   ==0) 
			return 0;
		
		return 1;
	}


oder macht man das so?
Code:
if(kunde.name.compareTo(neuerKunde.name) == 0 usw

danke!
 

HLX

Top Contributor
Du brauchst keinen neuen Kunden anzulegen. Du vergleichst mit dem Objekt, das compareTo() implementiert.

Verwende außerdem Getter für den Zugriff.
 

Leroy42

Top Contributor
Code:
public int compareTo(Kunde kunde) {
  int res1 = name.compareTo(kunde.name);
  int res2 = vorname.compareTo(kunde.vorname);
  return res1<0 ? res1 : res1==0 ? res2 : res1;
}
 
G

gast

Gast
also dann so?

Code:
  public int compareTo(Kunde kunde) 
   { 
            if(kunde == null) 
         return 1; 
      if(getName().compareTo(kunde.getName()) == 0 && getVorname().compareTo(kunde.getVorname())   ==0) 
         return 0; 
       
      return 1; 
   }
 

Leroy42

Top Contributor
HLX hat gesagt.:
eine mögliche NullPointerException?

Okay!
Code:
public int compareTo(Kunde kunde) { 
  if (kunde==null) return -1;
  int res1 = name.compareTo(kunde.name); 
  int res2 = vorname.compareTo(kunde.vorname); 
  return res1<0 ? res1 : res1==0 ? res2 : res1; 
}

Besser? :wink:
 
G

Gast

Gast
was bedeutet das:

return res1<0 ? res1 : res1==0 ? res2 : res1;
???
 

Leroy42

Top Contributor
return res1<0 ? res1 : res1==0 ? res2 : res1;

Wenn res1 kleiner als 0 ist (nachname 1 kleiner) dann res1 zurückgeben
sonst
wenn res1 gleich 0 (name==kunde.name) dann res2 (ergebnis des vornamenvergleichs) zurückgeben
sonst (res1 ist größer als 0) res1 zurückgeben
 

Leroy42

Top Contributor
FelixB hat gesagt.:
wobei man auch darüber streiten kann, wie sich ein Objekt zu einem anderen verhält, das gar nicht existiert...

Eben, deshalb würde ich in diesem Fall auch
gerne ne Exception geworfen haben um den
(Programmier-)Fehler überhaupt zu bemerken.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Cassy3 Generics - CompareTo Java Basics - Anfänger-Themen 21
J compareTo()- und equals-Methode Java Basics - Anfänger-Themen 3
X compareTo Methode wird ignoriert Java Basics - Anfänger-Themen 7
O compareTo nach mehreren Kriterien Java Basics - Anfänger-Themen 13
J Hashmap langsamer als compareTo? Java Basics - Anfänger-Themen 23
B Methoden compare() und compareTo() Java Basics - Anfänger-Themen 1
P compareTo() Java Basics - Anfänger-Themen 3
C compareTo verwenden Java Basics - Anfänger-Themen 2
T Datentypen compareTo() u. equals() bei Strings Java Basics - Anfänger-Themen 3
K hashCode, compareTo vs. equals Java Basics - Anfänger-Themen 3
J Sortier alternativen mit der compareTo Methode? Java Basics - Anfänger-Themen 6
J TreeSet mit compareTo sortieren Java Basics - Anfänger-Themen 2
K compareTo(String arg) überschreiben Java Basics - Anfänger-Themen 4
N Compiler-Fehler Comparable / compareTo implementierung Java Basics - Anfänger-Themen 2
M CompareTo soll Datum sortieren Java Basics - Anfänger-Themen 2
S compareTo() und equals() Java Basics - Anfänger-Themen 6
A Objekte aus 2 Klassen mit compareTo() vergleichen Java Basics - Anfänger-Themen 7
K CompareTo zwei mal benutzen klappt nicht. Java Basics - Anfänger-Themen 2
1 HILFE! Strings mit CompareTo vergleichen Java Basics - Anfänger-Themen 3
R compareTo & equals Java Basics - Anfänger-Themen 10
T Methoden Wie compareTo() Methode implementieren? Java Basics - Anfänger-Themen 9
T Strings mit compareto vergleichen und array sortieren Java Basics - Anfänger-Themen 14
P Generischer Binärbaum (compareTo Frage) Java Basics - Anfänger-Themen 4
J Probleme mit Comparable, compareTo() Java Basics - Anfänger-Themen 2
R compareTo Liste sortieren Java Basics - Anfänger-Themen 5
L compareTo bei Strings? Java Basics - Anfänger-Themen 4
D OOP mit compareTo Array sortieren (aus zwei Klassen) Java Basics - Anfänger-Themen 3
T compareTo warum geht es nicht? Java Basics - Anfänger-Themen 2
W compareTo für 3 Strings Java Basics - Anfänger-Themen 11
M compareTo-Sortierungsproblem Java Basics - Anfänger-Themen 16
F compareTo - Sortierung nach 2 Argumenten Java Basics - Anfänger-Themen 10
G in compareTo umschreiben Java Basics - Anfänger-Themen 4
A Die "compareTo( )" methode Java Basics - Anfänger-Themen 16
J compareTo Java Basics - Anfänger-Themen 4
T Wie geht das mit compareTo Java Basics - Anfänger-Themen 2
M o.compareTo(o) Java Basics - Anfänger-Themen 13
K compareTo in Verbinug mit Arrays.sort() Java Basics - Anfänger-Themen 4
Bierhumpen compareTo. Wie setze ich es ein Java Basics - Anfänger-Themen 11
R compareTo Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben