Lösung zum Rätsel: Nichts ist so, wie es scheint – Integer versus in
-
- 03.04.2025
- 2 min read
Lösung:
Die Ausgabe überrascht zunächst:
Prüfe Integer auf Gleichheit für int-Wert 1:true
Prüfe Integer auf Gleichheit für int-Wert 2:true
Prüfe Integer auf Gleichheit für int-Wert 3:true
…
Prüfe Integer auf Gleichheit für int-Wert 128:false
Prüfe Integer auf Gleichheit für int-Wert 129:false
Prüfe Integer auf Gleichheit für int-Wert 130:false
…
Der Grund ist sogar in der JDK-Dokumentation https://docs.oracle.com/en/java/javase/23/docs/api/java.base/java/lang/Integer.html#valueOf(int) beschrieben. Hier heißt es nämlich bei der valueOf()-Methode: „This method will always cache values in the range -128 to 127, inclusive, and may cache other values outside of this range.“
Aber ehrlich – hättest Du dies gewusst?

Thomas Ronzon
Projektleiter und Senior SoftwareentwicklerThomas Ronzon arbeitet als Projektleiter und Senior Softwareentwickler bei der w3logistics AG in Dortmund. Dabei beschäftigt er sich vor allem mit der Modernisierung von unternehmenskritischen Logistikanwendungen. Darüber hinaus veröffentlicht Thomas Ronzon regelmäßig Fachartikel.