字符串判断相等

        String str1 = null;
        String str2 = "java金融";
       // str1.equals(str2);  错误的写法
        str2.equals(str1); // 常量写前面
        Objects.equals(str1, str2);// 借助jdkUtil工具类
        StringUtils.equals(str1,str2); 

// 自定义工具类
字符串判断相等我们记住一定要常量写前面。
借助jdk提供的util帮助类(Objects)。
自定义工具类,进行判空处理。

包装类判断相等

        Integer n1 = 100;
        Integer n2 = 100;
        System.out.println(n1 == n2);//true
        System.out.println(n1.equals(n2));//true
        Integer n3 = 200;
        Integer n4 = 200;
        System.out.println(n3 == n4);//false
        System.out.println(n3.equals(n4));//true

为什么n3== n4 是false呢?由于包装类的缓存机制。包装类的比较用equals去判断。最推荐的还是用工具类去判断。例如上面的列子如果n3=null的话n3.equals(n4)这时候就会抛出npe了。如果用工具类的话就不会存在这种情况。总之一句话判断相等如果不愿意去判空(偷懒、代码也不好看)就借助工具类。合理使用工具类可以使你的代码减少不必要的npe。

最后修改:2020 年 07 月 07 日
如果觉得我的文章对你有用,请随意赞赏