我应该使用很长时间吗?
是。问题是,由于
MILLIS_IN_SECOND等等都是
ints,当您将它们相乘时会得到一个
int。你是转换
int到一个
long,但只有
后 的
int乘法已经导致了错误的答案。
要解决此问题,您可以将第一个强制转换为
long:
private static final long MILLISECONDS_IN_YEAR = (long)MILLIS_IN_SECOND * SECONDS_IN_MINUTE * MINUTES_IN_HOUR * HOURS_IN_DAY * DAYS_IN_YEAR;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)