java long 類型數據的賦值方式

java long類型數據的賦值

問題

當程序出現較大的數值的時候(超過int類型:-2^31 到 2^31 – 1間),就需要將類型變成Long類型。

long l = 1507772738542;
Long l1 = (long)1507772738542;

以上的寫法,在編譯的時候會報錯,

大概的意思就是數據太長,超過瞭int類型的值。

解決

Long l = 1507772738542L;

在數據的後面加上 L 或者 l 都可以。 

把null賦值給long產生的奇怪問題

問題產生的原因

我從一個對象中獲取一個Long類型的數據賦值給一個long變量:

long startsecond =  tracelist.get(i).getTracesecond();

因為之前獲取數據的時候Tracesecond一定有值的,所以沒有判斷null數據,但是後面發現有數據這個屬性是null,執行代碼的時候會導致代碼在這個地方卡死,永遠不會執行下去。

單獨寫一個測試的例子卻發現會報空指針異常,不知道是不是我的代碼在線程裡面導致的。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: