我寫了一個方法,一個給定的數量從天轉換成毫秒:的Java乘法操作行爲
private long expireTimeInMilliseconds;
...
public void setExpireTimeInDays(int expireTimeInDays)
{
expireTimeInMilliseconds = expireTimeInDays * 24 * 60 * 60 * 1000;
}
我有一個很難弄清楚我做錯了什麼。現在我的問題: 這個錯誤是如此明顯嗎?
修正方法:
private long expireTimeInMilliseconds;
...
public void setExpireTimeInDays(int expireTimeInDays)
{
expireTimeInMilliseconds = ((long) expireTimeInDays) * 24 * 60 * 60 * 1000;
}
如果我沒有在整數運算之前轉換爲長,我得到一個完整的錯誤的結果。
你也可以給常量附加一個L. – starblue 2009-02-04 17:19:36
爲什麼人們想要關閉它?看起來像一個合理的問題,可能會幫助其他人。如果它是完全重複的,請說出來。 – 2009-02-04 17:40:23
你也可以聲明你的常量:24L * 60L ... – 2009-02-04 20:01:09