Java 使用 long 出现空指针异常
问题是这样的,比如下面这个方法定义:
public Long getPersinalId(String token){
if (StringUtil.isBlank(token)) {
return null;
}
Long id = null;
id = ConstantDict.getInstance().GetTokenCache().get(token);
if (id == null){
TokenCache tokenCache = tokenCacheDao.findUniqueBy("token", token);
if (tokenCache != null) {
id = tokenCache.getPersinalId();
ConstantDict.getInstance().GetTokenCache().put(token, id);
}
}
return id;
}
可以看出使用的是大写的 Long,是封装类型,而在调用 getPersinalId 方法,使用小写的 long (基本数据类型)去接收返回值, 就会出现空指针异常。
所以这里需要使用 Long 封装类型。