Im really confused to why Java does it this way. Like, why is it even caching numbers? Is it to return actual Objects faster, than having to create them on every calculation? Other than that, I don't see why it won't just calculate the value and return it as an integer.