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。
推薦閱讀:
- Java Long類型對比分析
- Java8函數式接口java.util.function速查大全
- 在Java中判斷兩個Long對象是否相等
- Java 如何調用long的最大值和最小值
- Java Map.get()返回指定鍵所映射的值