Programmieren Java Hilfe?
Warum wird beim 1. bild „[10, 10]“ ausgeprintet aber beim zweiten nur 10 und nicht 20? Ich hab ja bei beidem das selbe Prinzip angewandt..
1 Antwort
Weil bei Objekten eine Referenz (Kopie der Speicheradresse) übergeben wird, wohingegen bei primitiven Variablen wie int eine Kopie des Wertes übergeben wird.
Die Variable list verweist also auf das selbe Objekt wie myList, wohingegen die Variable a nur eine eigenständige Kopie der anderen Variable a ist.
Und wenn ich ein Array übergebe? Sagen wir ich habe ein Array und rufe die Methode der anderen Klasse auf und füge dort dem Array ein Element hinzu. Zählen Arrays auch als Objekte?
Ja, Arrays sind auch Objekte.
An object is a class instance or an array.
- https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.3.1
byte, short, int, long, char, float, double und boolean sind die einzigen primitiven Datentypen. Alles andere sind Objekte.
Wie ist das wenn ich dasselbe wie beim 1. bild nachen würde, nur mit meiner eigens implementierten LinkedList? Würde dann auch 10,10 angezeigt werden?