接口 返回值为一个集合
public interface UserSearchService{
List<User> listUser();
}
接口实现
public List<User> listUser(){
List<User> userList = userListRepostity.selectByExample(new UserExample());
if(CollectionUtils.isEmpty(userList)){//spring util工具类
return null;
}
return userList;
}
// 这个接口实现返回值为null,这样写的隐患是调用方假如没有校验返回值是否为空,就会出现空指针异常!
接口实现优化
public List<User> listUser(){
List<User> userList = userListRepostity.selectByExample(new UserExample());
if(CollectionUtils.isEmpty(userList)){
return Lists.newArrayList();//guava类库提供的方式
}
return userList;
}
// 对于接口(List listUser()),它一定会返回List,即使没有数据,它仍然会返回List(集合中没有任何元素);
// 通过以上的修改,我们成功的避免了有可能发生的空指针异常,这样的写法更安全!
guava 的pom依赖
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>