String-Unveränderlichkeit in Java
Swipe um das Menü anzuzeigen
Sie wissen bereits, dass Strings Text wie Kundennamen, Produktnamen und Nachrichten speichern. Eine Besonderheit von Strings in Java ist jedoch, dass sie unveränderlich sind.
Unveränderlichkeit bedeutet, dass der Inhalt eines String-Objekts nach seiner Erstellung nicht mehr geändert werden kann. Jede Operation, die so aussieht, als würde sie einen String verändern, erzeugt tatsächlich ein neues String-Objekt im Hintergrund.
Beispiel
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 } }
Auch wenn beide Variablen neu zugewiesen wurden, verhalten sie sich intern unterschiedlich. Bei int speichert die Variable den Wert direkt – eine Neuzuweisung ersetzt ihn einfach. Aber String ist ein Referenztyp, das bedeutet, die Variable speichert eine Adresse, die auf ein String-Objekt im Speicher zeigt. Wenn drink = "Cappuccino" zugewiesen wird, ändert Java nicht "Espresso" – es erstellt ein komplett neues String-Objekt und lässt drink darauf zeigen. Das ursprüngliche "Espresso"-Objekt bleibt unverändert.
Schritt-für-Schritt-Ablauf
String drink = "Espresso";
Java erstellt ein String-Objekt "Espresso" und drink zeigt darauf.
drink = "Cappuccino";
Java erstellt ein neues String-Objekt "Cappuccino", drink zeigt nun auf das neue Objekt. "Espresso" bleibt unberührt.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen