码迷,mamicode.com
首页 > 其他好文 > 详细

equals方法中变量在前和在后的区别

时间:2018-05-12 19:20:50      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:cas   static   利用   div   equals   stat   utils   异常   ret   

对于变量:String str1;

使用str1.equals("null");

对于变量str1,如果str1是null,空是没有equals方法的,会抛出空指针异常

使用"null".equals(str1);如果str1是null,最终始终返回的都是false;

建议使用官方提供的工具类:

StringUtils.equals(String str1, String str2)

工具类源码如下:

public static boolean equals(String str1, String str2)
    {
        return str1 != null ? str1.equals(str2) : str2 == null;
    }
  //忽略大小写进行比较
    public static boolean equalsIgnoreCase(String str1, String str2)
    {
        return str1 != null ? str1.equalsIgnoreCase(str2) : str2 == null;
    }

 可以看到源码利用三元表达式很好的规避了null,空指针异常这个问题

 

equals方法中变量在前和在后的区别

标签:cas   static   利用   div   equals   stat   utils   异常   ret   

原文地址:https://www.cnblogs.com/fly-boy/p/9029393.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!