logo

Crowdly

Browser

Add to Chrome

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

✅ The verified answer to this question is available below. Our community-reviewed solutions help you understand the material better.

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:

More questions like this

Want instant access to all verified answers on elearning.tgm.ac.at?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!

Browser

Add to Chrome