小知识点记录:(“字符“).equals(str)与str.equals(“字符“)的区别

Posted 小智RE0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小知识点记录:(“字符“).equals(str)与str.equals(“字符“)的区别相关的知识,希望对你有一定的参考价值。

最近遇到这个知识点:
("字符").equals(str)str.equals("字符")的区别;
之前比较常用("字符").equals(str),但还是仔细区分一下;

因为;如果传入的字符串str为null时,null的的引用类型变量来调用方法会抛出异常;

📢先来看第一种情况,当 传入的str为正常字符时;

/**
 * @author by 信计1801 李智青 学号:1809064012
 */
public class Test 
    public static void main(String[] args) 
        String str = "xiaoZhi";

        boolean a1 = str.equals("xiaoZhi");
        boolean a2 = "xiaoZhi".equals(str);
        System.out.println(a1);
        System.out.println(a2);
    

在正常情况下没有区别


📢 然后当这个字符为 null 空值时;若使用str.equals("字符")会出现空指针异常;

/**
 * @author by 信计1801 李智青 学号:1809064012
 */
public class Test 
    public static void main(String[] args) 
        String str = null;

        boolean a1 = str.equals("xiaoZhi");
        System.out.println(a1);
    


但是在str为null的情况下
若使用"字符".equals(str)时,可以避免出现空指针异常;

null表示对象的内容为空,即对象的内容是空白的。null没有分配内存。
不会指向任何对象,

实际上;null值无法调用这些方法;

之前在这篇笔记中记录过一部分知识;
JAVA中的“ 大同小异 “知识点总结


以上是关于小知识点记录:(“字符“).equals(str)与str.equals(“字符“)的区别的主要内容,如果未能解决你的问题,请参考以下文章

java入门概念个人理解之从字符串比较到==和equals方法区别

校验字符串编码工具类

随笔记录零碎javascript知识点

equals()和==null的用法区别

java的equals提示空指针异常

Java编程知识点梳理