Wenn man von C++ zu Java wechselt, ist die offensichtliche unbeantwortete Frage, warum Java keine Operatorüberladung enthält.
Ist nicht Complex a, b, c; a = b + c;
viel einfacher als Complex a, b, c; a = b.add(c);
?
Gibt es dafür einen bekannten Grund, stichhaltige Argumente für no das Überladen von Operatoren zuzulassen? Ist der Grund willkürlich oder aus Zeitmangel?
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.