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 封装类型。