美文网首页
日拱一卒:常见错误集锦

日拱一卒:常见错误集锦

作者: Tinyspot | 来源:发表于2023-02-21 23:18 被阅读0次

    1. 集合处理

    1.1 remove() vs removeAll()

    @Test
    public void test() {
        List<String> all = new ArrayList<>();
        List<String> little = new ArrayList<>();
    
        // List<String>' may not contain objects of type 'List<String>'
        all.remove(little);
      
        // 更正
        all.removeAll(little);
    }
    

    2. 空指针

    2.1 类型转换 Integer

    @Data
    public class User {
        private Integer status;
        private int bizStatus;
    }
    
    @Test
    public void test() {
        User user = new User();
        // User(status=null, bizStatus=0)
    
        if (user.getBizStatus() == 1) {}
    
        // java.lang.NullPointerException
        if (user.getStatus() == 1) {}
    }
    

    分析:
    new User()初始化时,基本类型会被复制,引用类型为null

    优化:
    方式一:Objects.equals()
    if (Objects.equals(user.getStatus(), 1)) {}

    方式二:声明常量

    private static Integer STATUS = 1;
    
    @Test
    public void test() {
        User user = new User();
        if (STATUS.equals(user.getStatus())) {}
    }
    

    相关文章

      网友评论

          本文标题:日拱一卒:常见错误集锦

          本文链接:https://www.haomeiwen.com/subject/muunkdtx.html