//date is a java.util date
//date.getTime() = 1485462073669
int days = 3600;
long time = date.getTime() + (days * 24 * 60 * 60 * 1000L);
This will result in time = 344094777669. If I cast the variable days, the result will be different.
date.getTime() + ((long) days * 24 * 60 * 60 * 1000L)
This will result in time = 4639062073669
Why does days need to be cast as type long for the expression to evaluate correctly?