Java在執行加法時如何處理長變量?爲什麼添加長變量會導致連接?
版本錯誤1:
Vector speeds = ... //whatever, speeds.size() returns 2
long estimated = 1l;
long time = speeds.size() + estimated; // time = 21; string concatenation??
版本錯誤2:
Vector speeds = ... //whatever, speeds.size() returns 2
long estimated = 1l;
long time = estimated + speeds.size(); // time = 12; string concatenation??
正確的版本:
Vector speeds = ... //whatever, speeds.size() returns 2
long estimated = 1l;
long size = speeds.size();
long time = size + estimated; // time = 3; correct
我不明白,爲什麼Java的將它們連接起來。
任何人都可以幫助我,爲什麼兩個原始變量是連接的?
問候,guerda
提示:不要使用「L」爲多頭,因爲它是從「1」沒有區別在某些字體。改用'L'。 – toolkit 2008-10-28 12:18:06
你已經接受了一個答案,但是沒有完全解釋是什麼導致了這個問題 - 你能否詳細說明一下? – paxdiablo 2008-10-28 12:45:47