logo

Crowdly

Browser

Додати до Chrome

Erweiterter Inhalt: Warum müssen String-Objekte nicht auch noch geklont werden? ...

✅ Перевірена відповідь на це питання доступна нижче. Наші рішення, перевірені спільнотою, допомагають краще зрозуміти матеріал.

Erweiterter Inhalt: Warum müssen String-Objekte nicht auch noch geklont werden?

String-Objekte sind immutable

, d.h. man kann sie nicht ändern.

Wenn nun versucht wird, ein String-Objekt zu ändern, wird stattdessen

ein komplett neues String-Objekt mit dem geänderten Inhalt erstellt.

Wird nun im Testprogramm für eine Karte ein anderes Symbol verwendet,

dann passieren folgende 2 Schritte:

  1. Es wird im String-Pool nachgesehen, ob dieser String des neuen

    Symbols (z.B. Herz) schon vorhanden ist.

  2. Wenn es vorhanden ist, dann bekommt die Karte statt einem neuen

    Symbol eine Referenz auf das bestehende Symbol

  3. Wenn das Symbol noch nicht vorhanden ist, wird automatisch ein

    komplett neues String-Objekt mit dem neuen Symbolnamen erstellt und

    dessen Referenz für die Karte verwendet

Das String-Objekt mit dem ursprünglichen Symbol bleibt unverändert

bestehen. Wenn die Zeile

hand1.getKarte(0).setFarbe("Herz");

zum vorherigen Test-Code hinzugefügt wird, verändert dies das zuletzt

gezeigte Speicherbild folgendermaßen:

Damit bleibt die Farbe der 1. Karte in der 2. Kartenhand unbeeinflusst.

Wähle das zutreffende aus:

Більше питань подібних до цього

Хочете миттєвий доступ до всіх перевірених відповідей на elearning.tgm.ac.at?

Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!

Browser

Додати до Chrome