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,执行代码的时候会导致代码在这个地方卡死,永远不会执行下去。
单独写一个测试的例子却发现会报空指针异常,不知道是不是我的代码在线程里面导致的。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
相关文章