Frage

Ich habe ein Objekt und ein temporäres Objekt jetzt, wenn ich tue tempObj = obj

und ändern Sachen in tempObj ändert sie eine Wirkung auf obj haben, ist es eine Möglichkeit, ich es zu tun, dies zu stoppen? Grüße Mark

War es hilfreich?

Lösung

Dies ist ein Standard-Verhalten in vielen Sprachen. Wenn Sie das tun tempObj = obj Sie kein Duplikat-Objekt erstellt werden. Sie sind eine weitere Referenz auf das gleiche Objekt zu schaffen.

Ich glaube nicht, dass Sie dieses Verhalten ändern können, und sicherlich glaube ich nicht, sollten Sie:)

Was Sie brauchen, ist ein anderes Objekt erstellen, ein Duplikat des ursprünglichen Objekts. Sie können eine Funktion implementieren, das zu tun. Vielleicht kann dies dazu beitragen, http://blog.comtaste.com/2007/10/improving_object_copy.html

Viel Glück!

Andere Tipps

Was Sie tun, ist eine Referenz auf das ursprüngliche Objekt machen keine Kopie des Originals. Sie sollten eine tiefe Kopie des Objekts erstellen. Es scheint, dass jemand bereits die Schritte geschrieben, dies zu tun ...

scroll top