Was ist der Unterschied zwischen einem Integer und einem int in Java?

5 Antworten

Von Experte BeamerBen bestätigt

Integer ist ein Box-Type. Den braucht man zum Beispiel für Generics. Solltest du aber keine Generics benutzen gibt es praktisch keinen Grund Integer statt int zu verwenden. Außerdem hat Integer viele statische Methoden, die mit ints zu tun haben.

Für alle anderen primitiven Datentype gibt es auch Boxklassen, z. B. Boolean oder Character.

Woher ich das weiß:Hobby – Ich programmiere in meiner Freizeit mit Java.

Integer ist ein int. int wird hierbei als Datentyp verwendet und Integer eher als Benahmung oder auch Klasse? Jedenfalls ist beides richtig

Unterschiede:

  • int ist ein primitiver Datentyp, der eine Zahl speichert. Integer ist die zugehörige Klasse.
  • Ein int wird standardmäßig mit 0 initialisiert, ein Integer mit null (!).
  • Ein int kann nur Zahlen als Werte annehmen, einem Integer kann auch "null" (nicht definierter Wert) zugewiesen werden.
  • Generics kommen nur mit Klassen zurecht, nicht mit primitiven Datentypen. List<int> geht in Java(!) nicht, List<Integer> jedoch schon.
  • Die Klasse "Integer" enthält diverse Hilfsmethoden, z.B. Integer.parseInt(String)

Gemeinsamkeiten:

  • Beide speichern das gleiche, nämlich eine vorzeichenbehaftete 32Bit-Zahl.
  • Beide können mit Zahlen initialisiert werden: "int i = 42" funktioniert genau wie "Integer i = 42"
  • Beide unterstützen die allgemein bekannten Operatoren für Zahlen (+, -, ++, --, *, /, +=, -=, &, | usw.)
Woher ich das weiß:Berufserfahrung – Software-Entwicklung (Java Enterprise)

int ist ein ein primitiver Datentyp, kein Objekt.

Die Klasse Integer ist eine WrapperKlasse für diesen Datentyp.