Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära String Immutability in Java | Strängar
Introduktion till Java

String Immutability in Java

Svep för att visa menyn

Du vet redan att strängar lagrar text som kundnamn, produktnamn och meddelanden. Men något som gör strängar speciella i Java är att de är oföränderliga.

Oföränderlighet innebär att när ett String-objekt har skapats kan dess innehåll inte ändras. Varje operation som verkar ändra en sträng skapar egentligen ett nytt String-objekt i bakgrunden.

Exempel

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

Även om båda variablerna tilldelades nya värden, beter de sig olika internt. Med int lagrar variabeln värdet direkt — en ny tilldelning ersätter helt enkelt det gamla värdet. Men String är en referenstyp, vilket innebär att variabeln lagrar en adress som pekar på ett String-objekt i minnet. När drink = "Cappuccino" tilldelas, ändrar Java inte "Espresso" — istället skapas ett helt nytt String-objekt och drink pekar nu på det. Det ursprungliga "Espresso"-objektet förblir oförändrat.

Så här fungerar det steg för steg

String drink = "Espresso";

Java skapar ett String-objekt "Espresso" och drink pekar på det.

drink = "Cappuccino";

Java skapar ett nytt String-objekt "Cappuccino", och drink pekar nu på det nya objektet. "Espresso" förblir orört.

question mark

Vad innebär det att strängar är oföränderliga (immutable) i Java?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 1

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 4. Kapitel 1
some-alt