Technisch gesehen gibt es in jeder Programmiersprache, die mit verschiedenen Zahlentypen umgehen kann, z. B. Integer und reelle Zahlen, Operatorüberladung. Zur Erläuterung: Der Begriff Überladen bedeutet, dass es einfach mehrere Implementierungen für eine Funktion gibt. In den meisten Programmiersprachen gibt es verschiedene Implementierungen für den Operator +, eine für ganze Zahlen, eine für reelle Zahlen, das nennt man Operatorüberladung.
Viele Leute finden es seltsam, dass Java eine Operatorüberladung für den Operator + zum Addieren von Zeichenketten hat, und vom mathematischen Standpunkt aus wäre dies in der Tat seltsam, aber vom Standpunkt des Entwicklers einer Programmiersprache aus gesehen, ist nichts falsch daran, eine eingebaute Operatorüberladung für den Operator + für andere Klassen, z. B. String, hinzuzufügen. Die meisten Leute sind sich jedoch einig, dass es im Allgemeinen eine gute Idee ist, diese Funktionalität auch dem Entwickler zur Verfügung zu stellen, sobald man eine Überladung für + für String einbaut.
Dem Trugschluss, dass die Überladung von Operatoren den Code verschleiert, kann ich nicht zustimmen, da dies der Entscheidung des Entwicklers überlassen ist. Das ist naiv zu denken, und um ehrlich zu sein, wird es langsam alt.
+1 für das Hinzufügen von Operatorüberladungen in Java 8.
6 Stimmen
Kann auch lesen Warum Java das Überladen von Operatoren nicht unterstützt
1 Stimmen
@zzzz, es fällt mir schwer, diesen Artikel zu lesen. Wurde er automatisch übersetzt, oder ist Englisch die zweite Sprache des Autors? Ich finde die Diskussion hier viel sauberer.
48 Stimmen
An die Leute, die dies als nicht konstruktiv abtun: Diese Frage hat einen der konstruktivsten Dialoge hervorgebracht, die ich bei SO gesehen habe. Vielleicht ist es ein besserer Kandidat für programmers.stackexchange.com aber es gibt Zeiten, in denen ich denke, dass SO übermäßig abweisend gegenüber breiteren Themen ist.
1 Stimmen
@NoNaMe es ist ganz einfach, einfach geistig einfügen a y die - Fehlende Artikel sind ein deutliches Zeichen dafür, dass die Person entweder kein englischer Muttersprachler oder ein Programmierer ist (oder wie dieser Typ, beides :) Der Grund, warum Programmierer Artikel weglassen können, ist, dass dadurch Kommentare kürzer werden und leichter in den zur Verfügung gestellten Platz passen von da an gewöhnen sie sich einfach daran. Mein Problem ist das Layout, irgendwie stoße ich bei der Google-Suche immer auf diese Seite. Zum Glück gibt es eine tolle Chrome-Erweiterung namens Eindeutig die schwer zu lesende Seiten wunderbar neu formatiert.
1 Stimmen
Ich sehe keinen Grund, warum und wie OP die erste Antwort akzeptiert hat? Antwort geschrieben von @ stackoverflow.com/benutzer/14089/paercebal ist ausgezeichnet. Sie sollte akzeptiert werden.
0 Stimmen
Ich wünschte, die
==
Operator würde für Zeichenketten überladen werden. Es erwischt mich jedes Mal, wenn ich von GO, PHP, RUBY, Python, .... zurück wechsle.