Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Streng-Immutabilitet i Java | Strenge
Introduktion til Java

Streng-Immutabilitet i Java

Stryg for at vise menuen

Du ved allerede, at Strings gemmer tekst som kundenavne, produktnavne og beskeder. Men noget, der gør Strings specielle i Java, er, at de er immutable.

Immutability betyder, at når et String-objekt først er oprettet, kan dets indhold ikke ændres. Enhver handling, der ser ud til at ændre en string, opretter faktisk et nyt String-objekt i baggrunden.

Eksempel

Main.java

Main.java

123456789101112131415
package com.example; public class Main { public static void main(String[] args) { int stock = 20; String drink = "Espresso"; stock = 15; drink = "Cappuccino"; System.out.println(stock); // 15 System.out.println(drink); // Cappuccino } }

Selvom begge variabler blev tildelt nye værdier, opfører de sig forskelligt internt. Med int gemmer variablen direkte værdien — en ny tildeling erstatter blot den gamle. Men String er en referencetype, hvilket betyder, at variablen gemmer en adresse, der peger på et String-objekt i hukommelsen. Når drink = "Cappuccino" tildeles, ændrer Java ikke "Espresso" — der oprettes et helt nyt String-objekt, og drink peger nu på dette i stedet. Det oprindelige "Espresso"-objekt forbliver uændret.

Sådan fungerer det trin for trin

String drink = "Espresso";

Java opretter et String-objekt "Espresso", og drink peger på det.

drink = "Cappuccino";

Java opretter et nyt String-objekt "Cappuccino", og drink peger nu på det nye objekt. "Espresso" forbliver uberørt.

question mark

Hvad betyder det, at Strings er uforanderlige i Java?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 1

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 4. Kapitel 1
some-alt