2016-10-28 3 views
-7

Ich verstehe einfach defensive Kopie ist, dass: wenn eine Instanz der Klasse erstellt wird. Wenn Sie eine defensive Kopie verwenden, stellen Sie sicher, dass die Clients das interne Element dieser Instanz nicht ändern. Wenn nicht, bitte sagen Sie mir, wie man eine defensive Kopie versteht.Wie defensive Kopie zu verstehen

+2

Ich fragte Google, und das ist der 2. Artikel in der Suchergebnis.http: //www.javacreed.com/what-is-defensive-copying/ –

+2

Wenn Sie die Maus über die Schaltfläche Downvote, es sagt "Diese Frage zeigt keine Forschungsarbeit .... ", Es ist egal, ob Sie google oder Yahoo oder die chineese Baidu –

+0

ok fragen. Ich würde das tun, bevor ich eine Frage stelle. –

Antwort

1

Grundsätzlich würden Sie überall, wo Sie einen Verweis auf ein Objekt zurückgeben würden, stattdessen ein neues Objekt erstellen (Sie könnten je nach den Umständen object.clone() oder einen Konstruktor verwenden). Dies bedeutet, dass der Aufrufer Zugriff auf eine Kopie des ursprünglichen Objekts erhält, aber die Daten des Originals nicht ändern kann, da sie nicht darauf verweisen.

Sie finden viele Beispiele dafür auf Google, here is one such example.