Junior — Middle
Wie unterscheidet man in einer Programmiersprache die Basistypen von Referenzobjekten?
sobes.tech KI
Antwort von AI
In Programmiersprachen unterscheiden sich die Basistypen (Primitivtypen) und Referenzobjekte hinsichtlich ihrer Speicher- und Übertragungsweise.
- Basistypen (z.B. int, float, boolean in Java/Android) werden im Stack gespeichert und enthalten direkt den Wert. Beim Übergeben einer Variablen wird der Wert selbst kopiert.
- Referenzobjekte (z.B. Klassenobjekte) werden im Heap gespeichert, und in der Variablen befindet sich eine Referenz (Zeiger) auf das Objekt. Beim Übergeben wird nur die Referenz kopiert, nicht das Objekt selbst.
Beispiel:
int a = 5;
int b = a; // Kopiert den Wert 5
b = 10;
// a ist immer noch 5
String s1 = new String("hello");
String s2 = s1; // Kopiert die Referenz auf das Objekt
s2 = "world";
// s1 ist immer noch "hello" (String in Java ist unveränderlich)
Auf diese Weise speichern Basistypen die Daten direkt, während referenzierte Objekte über einen Zeiger auf das Objekt im Speicher verfügen.