0
我敢肯定,這不奇怪,而我不明白的文檔,但爲什麼:Java的龍怪的結果
long myLong = 3600*24*365*70;
System.out.println(String.valueOf(myLong));
顯示-2087447296
時顯然不是3600 * 24 * 365結果* 70?
我敢肯定,這不奇怪,而我不明白的文檔,但爲什麼:Java的龍怪的結果
long myLong = 3600*24*365*70;
System.out.println(String.valueOf(myLong));
顯示-2087447296
時顯然不是3600 * 24 * 365結果* 70?
嘗試
long myLong = 3600L*24*365*70;
爲你的代碼是乘以爲INT,然後轉換成一個長。作爲int的值溢出int的最大值,但長時間可以爲OK。
這可能幫助 http://stackoverflow.com/questions/6332392/multiplication-operation-in-java-is-resulting-in-negative-value – hece 2014-09-02 06:10:59
整數溢出發生的事情。讓他們中的任何一個變長。這樣可以避免停止發生整數乘法。 – 2014-09-02 06:11:17