Ich muss eine einfache Vektor/Matrix-Bibliothek für ein kleines Geometrie-bezogenes Projekt schreiben, an dem ich arbeite. hier ist, was ich mich frage.
Ist es beim Ausführen mathematischer Operationen mit Vektoren in einer Java-Umgebung besser, eine neue Instanz eines Vektors zurückzugeben oder den Zustand des Originals zu ändern?
Ich habe es hin und her gesehen und würde nur gerne eine mehrheitliche Meinung einholen.
einige Leute sagen, dass die Vektoren unveränderlich sein sollten und statische Methoden verwendet werden sollten, um neue zu erstellen, andere sagen, dass sie veränderbar sein sollten und normale Methoden verwendet werden sollten, um ihren Zustand zu ändern. ich habe es in einigen Fällen gesehen, in denen das Objekt unveränderlich ist und normale Methoden aufgerufen werden, die einen neuen Vektor aus dem Objekt zurückgeben, ohne den Zustand zu ändern - das scheint mir ein wenig falsch.
Ich möchte nur ein Gefühl dafür bekommen, ob es irgendeine bewährte Methode dafür gibt - ich stelle mir vor, dass es etwas ist, das schon eine Million Mal gemacht wurde, und ich frage mich wirklich nur, ob es eine Standardmethode gibt, dies zu tun.
Ich habe bemerkt, dass die Apache-Commons-Mathe-Bibliothek jedes Mal einen neuen Vektor aus dem Original zurückgibt.