Given the following code:
int firstInt, secondInt; firstInt = 5; secondInt = 5; NSNumber *firstNumber = [NSNumber numberWithInt:firstInt]; NSNumber *second
Because they have the same hash value, so NSNumber gives back to you a cached pointer from the first allocation.
hash
NSNumber