Mir wurde eine Zuweisung zugewiesen, um ein Array von eingegebenen Werten zu sortieren. Ich habe Probleme mit dem Überschreiben der compareTo
Methode mit in der Item
Klasse. Ich möchte es so sortieren, dass, wenn zwei Artikel gleich teuer sind, dann basierend auf Category
verglichen wird. Also Kinder (C) Artikel kommen zuerst und dann M und dann Frauen. Dies ist mein Code und jedes Mal, wenn ich versuche, es zu kompilieren, erhalte ich die Fehlermeldung, dass double
nicht referenziert werden kann.Vergleichen Sie mit CompareTo sowohl eine Zeichenfolge als auch einen doppelten Wert innerhalb eines Arrays?
public int compareTo (Object other) {
int result;
double otherPrice = ((Item)other).getClothPrice();
String otherCategory = ((Item)other).getClothCategory();
if (clothPrice == otherPrice)
result = clothCategory.compareTo(otherCategory);
else
result = clothPrice.compareTo(otherPrice);
return result;
}
ich war zu vergessen die Vergleichbar hinzuzufügen, danke für, dass ich den Code immer am Ende nur um zu arbeiten, die sonst zu Ergebnis ändert = Double.compare (clothPrice, SonstigesPreis); Würde das das Gleiche bewirken? –
@TommyHarvey Ja, das würde das Gleiche erreichen. Ich habe gerade Ihren Code so umgeschrieben, wie ich die meisten Leute geschrieben habe. – 4castle
Ok danke, ich ging einfach vom Beispiel weg, das wir in der Klasse erhielten. Vielen Dank für Ihre Hilfe –