java long 类型数据的赋值方式

2022-11-13 12:11:02 赋值 方式 类型

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,执行代码的时候会导致代码在这个地方卡死,永远不会执行下去。

单独写一个测试的例子却发现会报空指针异常,不知道是不是我的代码在线程里面导致的。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章