zoukankan      html  css  js  c++  java
  • Java 接口返回值集合防止空指针

    接口 返回值为一个集合

    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>
    
  • 相关阅读:
    bzoj2161 布娃娃
    bzoj2161 布娃娃
    Tyvj1054
    Tyvj1054
    Tyvj1053
    Tyvj1053
    hdu3265 Poster(扫描线)
    hdu3265 Poster(扫描线)
    hdu3265(好题翻译)
    hdu3265(好题翻译)
  • 原文地址:https://www.cnblogs.com/ww25/p/14931080.html
Copyright © 2011-2022 走看看