前置条件Preconditions类
功能
可以灵活的完成参数检验,在进行业务逻辑代码前进行前置判断。并且避免了冗长的if语句。guava将所有检验的API都放置于Preconditions类中。
举例
如:我们在做登录操作的方法中,在未用前置条件前,代码可能会如下:
public User login(String userName,String password){
if(StringUtils.isEmpty(userName) || StringUtils.isEmpty(password)){
throw new RuntimeException("用户名或密码不能为空");
}
User user = userService.queryUserByUserNameAndPassword(userName,password);
if(null == user){
throw new RuntimeException("用户名或密码错误");
}
//…………………………………………省略业务逻辑…………………………………………
}
再使用了Preconditions类后
public User login(String userName,String password){
Preconditions.checkArgument(!(StringUtils.isEmpty(userName) || StringUtils.isEmpty(password)),"用户名或密码不能为空");
User user = userService.queryUserByUserNameAndPassword(userName,password);
Preconditions.checkNotNull(user,"用户名或密码错误");
//…………………………………………省略业务逻辑…………………………………………
}