Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
--- Unterschied "==" "equals" "compareto" (http://www.informatikerboard.de/board/thread.php?threadid=2748)
Geschrieben von Maie26 am 11.01.2016 um 18:12:
Unterschied "==" "equals" "compareto"
Meine Frage:
Hallo zusammen,
kann mir jemand kurz erklären, was der Unterschied zwischen "==", "equals" und "compareto" ist? Wann benutze ich was und wieso?
Meine Ideen:
Meine Vermutung ist, dass der Unterschied zwischen "==" und "equals" der ist, dass man bei "equals" an einem der zu vergleichenden Sachen etwas ändern kann, quasi eine Kopie erstellt, bei "==" dies aber nicht möglich ist? Ist das korrekt? Wie steht "compareto" dazu in Verbindung?
Geschrieben von eulerscheZahl am 11.01.2016 um 18:56:
Welche Programmiersprache verwendest du? Davon hängt die genaue Bedeutung nämlich auch ab.
Geschrieben von Maie26 am 11.01.2016 um 19:03:
Das hätte ich natürlich angeben müssen, sorry!
Es geht um Java!
Geschrieben von eulerscheZahl am 11.01.2016 um 19:59:
== vergleicht die Adressen der Objekte. Wenn du zwei Strings mit gleichem Inhalt hast, muss == noch lange kein true liefern (in C# wäre es z.B. anders)
equals macht erst mal nichts anderes, kann aber überschrieben werden. Da String das macht, wird mit equals wirklich der Inhalt verglichen, nicht die Speicehradresse.
compareTo hat als Rückgabewert kein boolean, sondern ein int. Damit kannst du wirklich schauen, welches Objekt größer ist und z.B. die Strings alphabetisch sortieren (die lassen sich nicht mit < und > vergleichen).
Forensoftware: Burning Board, entwickelt von WoltLab GmbH