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 | Strenger
Introduksjon til Java

Streng-immutabilitet i Java

Sveip for å vise menyen

Du vet allerede at strenger lagrer tekst som kundenavn, produktnavn og meldinger. Men noe som gjør strenger spesielle i Java, er at de er immutable.

Immutability betyr at når et String-objekt er opprettet, kan innholdet ikke endres. Enhver operasjon som ser ut til å endre en streng, oppretter faktisk et nytt String-objekt i bakgrunnen.

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 } }

Selv om begge variablene ble tildelt nye verdier, oppfører de seg forskjellig internt. Med int lagrer variabelen verdien direkte — å tildele på nytt erstatter bare verdien. Men String er en referansetype, noe som betyr at variabelen lagrer en adresse som peker til et String-objekt i minnet. Når drink = "Cappuccino" tildeles, endrer ikke Java "Espresso" — det opprettes et helt nytt String-objekt, og drink peker nå til dette i stedet. Det opprinnelige "Espresso"-objektet forblir uendret.

Hvordan det fungerer steg for steg

String drink = "Espresso";

Java oppretter et String-objekt "Espresso" og drink peker til det.

drink = "Cappuccino";

Java oppretter et nytt String-objekt "Cappuccino", og drink peker nå til det nye objektet. "Espresso" forblir uberørt.

question mark

Hva betyr det at strenger er uforanderlige i Java?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 1

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 4. Kapittel 1
some-alt