Datentypen Diskussion: Integer vs. int (Double vs. double)

Gossi

Bekanntes Mitglied
Wie der Name schon sagt, was bevorzugt ihr, oder gibt es bestimmte Dinge bei denen Ihr Integer einem int vorzieht etc.

Meine eigene (bescheidene) Meinung:

int benutze ich vorzugsweise bei Dingen wie for-Schleifen etc., während ich Integer bei kommunikation mit anderen Systemen gerne verwende (Datenbank, Benutzer, etc.) da Integer ja nunmal den Vorteil hat, dass es den "Wert" null annehmen kann (is garde bei Datenbanken nett 🙂)

Ich würde jetzt also einfach mal provokativ sagen:

Integer ist besser für jegliche Formen der Kommunikation mit Schnittstellen wo ein null auftreten und abgefangenw erden sollte und int ist für die "kleineren" Aufgaben im alltäglichen Code.
 
Zuletzt bearbeitet:
Integer benötigt man, wenn man mit Generics arbeiten will. Insofern treten Integer auf, sobald man sie irgendwo in einer Collection o.ä. benötigt. Natürlich ist der Vorteil von null ebenfalls nicht schlecht, aber hab ich IMHO noch nie benötigt.
 
Hallo Gossi,

Integer ist besser für jegliche Formen der Kommunikation mit Schnittstellen wo ein null auftreten und abgefangenw erden sollte
Ich würde es ein wenig anders formulieren:
Code:
Integer
sollte verwendet werden, wenn
Code:
null
(zusätzlich zu 0!) ein gültiger Wert sein kann (oder eben bei Generics).

Es macht beispielsweise wenig Sinn, ein nicht-optionales Feld in einer Datenbank auf einen Integer in Java-Code zu mappen. Das einzige, was man dann davon hat, sind zahllose Prüfungen auf
Code:
null
, bevor man den eigentlichen Wert verwenden kann.
Entweder vergisst oder unterschlägt man die Prüfung dann ganz (weil sie sowieso immer erfolgreich sein sollte) oder man lässt durch Prüfungen
Code:
null
sowieso nicht zu; dann kann man auch gleich
Code:
int
verwenden und sich die Tipparbeit sparen (und nebenher die Lesbarkeit erhöhen).

Insofern würde ich eher sagen:
Code:
Integer
nur dann verwenden, wenn
Code:
int
nicht möglich ist oder
Code:
null
explizit zugelassen werden soll.
Von genereller Verwendung von Integer in Schnittstellen würde ich persönlich eher absehen.
 
Zuletzt bearbeitet:
Ich schließe mich winSharp an. Man sollte auch bedenken das Integer bei Verwendung in Konstrukten in denen man tatsächlich die Zahl benötigt (also for, ==, +, -, etc..) ständig ein boxing/unboxing automatisiert im Hintergrund statt findet. Ich denke die Performance leidet darunter.
Daher gehe ich ebenfalls nach dem Prinzip: Immer int, es sei denn ich benötige Integer
 
Insofern würde ich eher sagen:
Code:
Integer
nur dann verwenden, wenn
Code:
int
nicht möglich ist oder
Code:
null
explizit zugelassen werden soll.

Eben, aber wie stellst du dir auf einer DB-Abfrage das vor? Ich würde da irgendwie an einer Methode in [c]Record[/c] denken: [c]T getData(int row, Class<T> type)[/c] oder wie auch immer... Auf alle Fälle schon kein int mehr 🙂
 

Zurück
Oben