Java Integer Pool. Warum?

Ich habe überall gelesen, dass beim Definieren einer Ganzzahl zwischen -128 und 127 in Java ein bereits erstelltes Objekt zurückgegeben wird, anstatt ein neues Objekt zu erstellen.

Ich sehe keinen anderen Grund, dies zu tun, als Neulingen zu erlauben, Integer-Objekte mit zu vergleichen== um zu sehen, ob sie die gleiche Zahl sind, aber ich denke, das ist schlecht, weil sie sicher denken, dass sie jede ganze Zahl mit vergleichen können==und lehrt auch eine schlechte Praxis in jeder Programmiersprache: Vergleichen des Inhalts von zwei "verschiedenen" Objekten mit==.

Gibt es einen anderen Grund dafür? Oder ist es nur eine schlechte Entscheidung, die Sprache (aus meiner Sicht) wie ein optionales Semikolon in JavaScript zu gestalten?

EDIT: Ich sehe hier, dass sie das Verhalten erklären:Warum ändert sich das Verhalten des Integer-Konstantenpools bei 127?

Ich frage, warum sie es entworfen haben, um dieses Verhalten zu haben, und nicht, warum dieses Verhalten geschieht.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage