csc.getUserId() == 0
userid是Long类型的。返回结果是true。
jdk1.7
默认转化了吗?不是很懂,求大神解答。
可以进行对比,int 与 long 进行运算、比较时 int 会自动进行类型提升为 long 类型。
能直接比较,因为从范围小(int 4字节)转到范围大(long 8字节)属于向上转型,是隐式,不用强转。
我也遇到了你这个问题,不过我测试发现
boolean i =customersStatInfo.getCustomersTotal() != new Long(0);
//即使getCustomersTotal返回的是Null,比较的结果仍然为true,所以不是比较时 int 会自动进行类型提升为 long 类型,而是调用了自身的XXXValue方法进行转换了。比如 intValue了。
下面这点也可以支持我的猜测
我代码中如果getCustomersTotal返回的是Null,再进行比较是就会报NullPointerException异常