经常会遇到判断值是否相等的问题。
比如这样的代码
User user=userService.findUserById(userId);
if(user.getUserName().equals("xukaiqiang")){
......
}
这样写的代码有问题的.
1.User user=userService.findUserById(userId);
用userService调用方法,查询user对象,有可能为null。
所以需要加上非空判断
User user=userService.findUserById(userId);
if(null!=user){
if(user.getUserName().equals("xukaiqiang")){
......
}
}
其中null!=user和user!=null没有区别,但是习惯上写为null!=user
2.if(user.getUserName().equals("xukaiqiang"))
如果user.getUserName为null,就会抛出空指针,所以要写成。
if("xukaiqiang".equals(user.getUserName()))