hallo,
ich habe folgende Frage:
Wenn ich eine Variable eines primitiven Datentypes definiere, dann wird dort direkt eine Information gespeichert.
BSP:
int a = 5;
dann steht in der Variable einfach nur "5"
Wenn ich eine Variable vom Typ Object o.ä. habe, dann wird dort drin der Verweis auf die Instanz einer Klasse gespeichert.
BSP:
Object x = new Object();
dann steht in x ein Verweis auf das soeben erstellt Object...
aber: wie ist das bei Strings? der String ist ja eigentlich eine Klasse, und kein primitiver Datentyp. "String" hat eigene Eigenschaften und Funktionen. Das bedeutet, dass wenn ich schreibe:
String a = "MuhMuh";
dann steht in a eigentlich auch nur ein Verweis auf die Instanz eines Strings und nicht "MuhMuh". Wenn ich jetzt schreibe:
String b = a;
und dann irgendwie die Instanz, die in a gespeichert ist verändere (also nicht a einen neuen String zuweise, sondern genau den String, auf den a zeigt, verändere), dann müsste sich doch auch b verändern, richtig??
vielen Dank für die Mühe,
gruß,
Fellkneul
ich habe folgende Frage:
Wenn ich eine Variable eines primitiven Datentypes definiere, dann wird dort direkt eine Information gespeichert.
BSP:
int a = 5;
dann steht in der Variable einfach nur "5"
Wenn ich eine Variable vom Typ Object o.ä. habe, dann wird dort drin der Verweis auf die Instanz einer Klasse gespeichert.
BSP:
Object x = new Object();
dann steht in x ein Verweis auf das soeben erstellt Object...
aber: wie ist das bei Strings? der String ist ja eigentlich eine Klasse, und kein primitiver Datentyp. "String" hat eigene Eigenschaften und Funktionen. Das bedeutet, dass wenn ich schreibe:
String a = "MuhMuh";
dann steht in a eigentlich auch nur ein Verweis auf die Instanz eines Strings und nicht "MuhMuh". Wenn ich jetzt schreibe:
String b = a;
und dann irgendwie die Instanz, die in a gespeichert ist verändere (also nicht a einen neuen String zuweise, sondern genau den String, auf den a zeigt, verändere), dann müsste sich doch auch b verändern, richtig??
vielen Dank für die Mühe,
gruß,
Fellkneul