According to the same Javadoc:
If the argument is NaN
or an infinity or positive zero or negative zero, then the result is the same as the argument. Can’t do that with an int
.
The largest double
value is also larger than the largest int
, so it would have to be a long
.