Krolli's Blog

Alles und noch viel mehr….

Unterschied zwischen Integer und int

Der direkt ins Auge fallend Unterschied ist das int ein primitiver Datentyp und kein Objekt ist. Dagegen ist die Klasse Integer eine Wrapper-Klasse (to wrap = einwickeln, einpacken) für diesen Datentyp.
Um ein Objekt/Instanz einer Klasse zu erzeugen wird der new-Operator benutzt, deshalb funktioniert der Code nur, wenn Du mit new dem Integer-Konstruktor den Wert vom Typ int übergibst und somit ein Integer-Objekt erzeugst, welches in der ArrayList gespeichert werden kann. Bei einem primitiven Datentyp wird by value übergeben also nur der Wert, ein Objekt wird by reference übergeben, also per pointer.

Jeder primitiver type in Java hat eine equivalent Wrapper Klasse:

Primitiver Datentype Wrapper-Klasse
byte Byte
short Short
int Integer
long Long
boolean Boolean
char Character
float Float
double Double

Wurde ein Wrapper-Objekt erst einmal erzeugt, lässt sich der Wert nachträglich nicht mehr verändern (immutable), man nennt sie auch Werte-Objekte. Das bedeutet aber auch, alle Wrapper-Klassen sind final. Wollen wir z.B. den Inhalt eines Integer-Objekts ändern, müssen wir ein neues Objekt erzeugen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.