This particular quirk also holds true of, say, Ruby or Python:
256 is 256 # True
(2**50) is (2**50) # False
albeit without Java's fear of operator overloading and the counterintuitiveness it causes.