Ich habe die Anforderung nicht verstanden, eine Klasse in Java unveränderlich zu machen. Folgende ist die Forderung, die ich zu verstehen, nicht in der Lage bin:Erstellen einer unveränderlichen Klasse in Java mit veränderbarer Referenz
1) Wenn die Instanzfelder Referenzen auf veränderliche Objekte umfassen, erlauben nicht die Objekte geändert werden:
a) Sie Methoden nicht vorsehen, dass modifiziere die veränderbaren Objekte.
b) Teilen Sie keine Referenzen auf die veränderbaren Objekte. Speichern Sie niemals Verweise auf externe, veränderbare Objekte, die an den Konstruktor übergeben werden. Erstellen Sie ggf. Kopien und speichern Sie Verweise auf die Kopien. Erstellen Sie auf ähnliche Weise Kopien Ihrer internen änderbaren Objekte, um die Rückgabe der Originale in Ihren Methoden zu vermeiden.
Bitte erläutern Sie dieses Konzept mit einem klaren und einfachen Beispiel.
schauen Sie sich einfach die 'String' an. Sie können es nicht direkt ändern, jede Änderung, die an einer Instanz einer 'String' vorgenommen wird, gibt immer eine neue Instanz einer' String' zurück. Sie können eine Instanz eines 'String' nicht ändern, indem Sie nur Methoden dafür aufrufen. – SomeJavaGuy