Zum Beispiel, wenn Sie einen Integer haben:
int i = 9;
Wie kann das funktionieren? Ich meine, die vollständige Syntax lautet:
int i = new Integer(9);
Wie überspringt es den ganzen new Integer() Teil und funktioniert trotzdem?
Danke.
Zum Beispiel, wenn Sie einen Integer haben:
int i = 9;
Wie kann das funktionieren? Ich meine, die vollständige Syntax lautet:
int i = new Integer(9);
Wie überspringt es den ganzen new Integer() Teil und funktioniert trotzdem?
Danke.
Es überspringt es nicht, weil Primitive keine Objekte sind.
Ihr zweite Codezeile beinhaltet Auto-Unboxing, was eine spätere Ergänzung zur Java-Sprache war.
new Integer()
ist kein Primitiv; es ist ein verpacktes Primitiv.
Tatsächliche Primitivtypen (int
, usw.) sind keine Objekte und können nicht instanziiert werden.
Beachten Sie, dass Sie auch Integer x = 9
schreiben können und der Java-Compiler automatisch new Integer()
einfügt.
Dies wird Auto-Boxing genannt.
Vielleicht möchten Sie sich AutoBoxing hier ansehen
Primitive : Referenz Zuordnung
byte : Byte
short : Short
int : Integer
long : Long
float : Float
double : Double
bool : Boolean
char : Character
Autoboxing / unboxing ist die automatisierte Konvertierung unter der Oberfläche zwischen primitiven Typen und ihren äquivalenten Objekttypen. Zum Beispiel, die Konvertierung zwischen einem int primitiven Typ und einem Integer Objekt oder zwischen einem boolean primitiven Typ und einem Boolean Objekt. Dies wurde in Java 5 eingeführt.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.