Warum die Attribute eines vorhandenen Message-Objekts (einschließlich seines Ziels) in das neue kopieren? Was ist der Vorteil?Warum werden die Werte einer vorhandenen Nachricht (einschließlich ihres Ziels) in die neue Nachricht kopiert?
Antwort
Ich bin nicht völlig vertraut mit dem Kontext, aber seine Methode macht ein anderes Nachrichtenobjekt. Man hätte es so gemacht
Message m = orig;
aber das Problem mit direkter Zuordnung ist, dass es nur eine neue Referenz von orig Message-Objekt erzeugt. Wenn ich irgendetwas wie
dann m.what wird auch "test", da beide auf dasselbe Objekt zeigen.
Um Originaldaten zu erhalten, wenn wir einige Änderungen am vorhandenen Objekt vornehmen müssen, kann man diese Methode verwenden.
Es erstellt ein neues Objekt, so dass Sie das Original ändern und die Kopie nicht ändern können. Dies ist manchmal nützlich, wenn Sie eine zweite Instanz benötigen, die mit der ursprünglichen identisch ist. Mit Nachrichten zum Beispiel möchten Sie vielleicht zwei Kopien einer Nachricht zu einem Handler hinzufügen, so dass sie zwei Nachrichten verarbeitet, nicht nur eine. Dies ist tatsächlich eine so häufige Verwendung, dass es in einige Sprachen eingebaut ist - in C++ sprechen sie von Kopierkonstruktoren, die dies tun.
- 1. Warum kommt die Nachricht [XMLHttpReequest]?
- 2. Warum kann die Nachricht nicht in das Array geschoben werden?
- 3. Warum wird die Toast-Nachricht zweimal gedruckt?
- 4. Warum sendet die Bot-Nachricht nicht?
- 5. jquery alert zweimal die Nachricht warum?
- 6. Boost.Log: Warum wird die Nachricht doppelt angezeigt?
- 7. WCF: Die Nachricht konnte nicht verarbeitet werden:
- 8. Aktualisierung Posteingang neue Nachricht Anzahl
- 9. Was bedeuten die Details einer APPCRASH-Nachricht?
- 10. Nachrichtenstatus der vorhandenen Nachricht konnte nicht zurückgesetzt werden
- 11. Erhalten Sie die Koordinaten einer WM_NCHITTEST Nachricht?
- 12. Masstransit - Planung einer wiederkehrenden Nachricht, die Multitenancy
- 13. Die letzte Nachricht einmal anhängen
- 14. Websocket - Teilen einer Nachricht
- 15. Übersetzen Sie die Flash-Nachricht
- 16. Zeilenumbruch in einer Nachricht
- 17. Twilio-Nachricht - Emojis werden durch "?" in der eigentlichen Nachricht
- 18. Die Nachricht in voller Länge konnte nicht abgerufen werden.
- 19. mysql_install_db Generische Nachricht Warum?
- 20. Kann eine SD-Karte (einschließlich des MBR) vollständig kopiert werden?
- 21. So ermitteln Sie die UID einer Nachricht in IMAP
- 22. wollte die entsprechenden Nachricht Details gegen Nachricht ID
- 23. StarUML - Wie eine neue Zeile in einer Nachricht Argument
- 24. ActionCable nicht die Nachricht übertragen
- 25. same ng Nachricht, die mehrfache
- 26. Valgrind - nicht initialisierte Werte Nachricht
- 27. Die angeforderte Klasse konnte nicht geladen werden: Nachricht in Codegeigner
- 28. die Fehlerlänge Validator Nachricht Übersetzen
- 29. Angemessene Zeit für die Nachricht
- 30. Wie ändere ich die Anfrage einer POST-Nachricht in Java?
Dies ist ähnlich wie "Klon" – Enzokie