String-Onveranderlijkheid in Java
Veeg om het menu te tonen
Je weet al dat Strings tekst opslaan, zoals klantnamen, productnamen en berichten. Maar wat Strings bijzonder maakt in Java is dat ze immutable zijn.
Immutability betekent dat zodra een String-object is aangemaakt, de inhoud niet meer kan worden gewijzigd. Elke bewerking die lijkt alsof deze een string aanpast, maakt in werkelijkheid een nieuw String-object aan op de achtergrond.
Voorbeeld
Main.java
123456789101112131415package 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 } }
Hoewel beide variabelen opnieuw zijn toegewezen, gedragen ze zich intern verschillend. Bij int slaat de variabele direct de waarde op — opnieuw toewijzen vervangt deze simpelweg. Maar String is een referentietype, wat betekent dat de variabele een adres opslaat dat verwijst naar een String-object in het geheugen. Wanneer drink = "Cappuccino" wordt toegewezen, wijzigt Java "Espresso" niet — het maakt een geheel nieuw String-object aan en laat drink daar in plaats daarvan naar verwijzen. Het oorspronkelijke "Espresso"-object blijft ongewijzigd.
Hoe het stap voor stap werkt
String drink = "Espresso";
Java maakt een String-object "Espresso" aan en drink verwijst ernaar.
drink = "Cappuccino";
Java maakt een nieuw String-object "Cappuccino" aan, drink verwijst nu naar het nieuwe object. "Espresso" blijft onaangeroerd.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.