今天,在调试代码的时候,发现在一行A.setXXXX() = B.getXXXX()处报错,此处,B.getXXXX的值为null,后来发现是因为在A这个对象里面,属性XXXX的字段的类型是long,而在B这个对象里面,属性XXXX的字段的类型是Long。
Long是long的包装类型,可以用来两个对象之间的比较,对象的值可以为null,而long 是基本类型,数值不能直接赋值为null。
所以在此处A.setXXXX() = B.getXXXX(),A的XXXX字段不能直接赋值为NULL,所以会报错。
long x = null; (X)
强制转换如下:
long y = Long.parseLong(null); (√)