Warum ist das ein Unterschied (Integer / int)

Joob

Top Contributor
Wenn ich eingeben
Integer i = 45;
String s = (char)i;

geht es nicht und java meckert das es Integer nicht konvertieren kann.

Mach ich so
int i = 45;
String s = (char)i;

läuft es.

Was ist der Unterschied.
 
Primitive Datentypen (byte, short, char, int, ...) sind keine Objekte in Java. Also gibt es Wrapperklassen, wie Integer, die wie gesagt, primitive Datentypen wrappen, um sie als Objekte nutzen zu können.
Geschweige davon, dass das nicht kompiliert:
Java:
int i = 45;
String s = (char) i;
Wenn dann schon:
Java:
int i = 45;
char c = (char) i;

Wenn man dann Integer verwendet hast du zwei Optionen: mit Boxing (schlag im Internet nach, wenn du nicht weißt was das ist) oder mit Methoden aus Integer:
Java:
Integer i = 45;
char c = (char) (int) i;
char c2 = (char) i.intValue();
 

Zurück
Oben