String类型的比较---用==号/用equals()方法/用contentEquals()方法


1)为什么判断字符串是否相等时不用==号用equals()方法


  • java中的==是用来判断对象所使用的内存地址是不是同一个,进而判断是不是同一个对象。例如 objA == objB
    注意这里是同一个对象才会是true,如果不是同一个对象,哪怕两个对象所有属性都相同也会返回false。

  • 而equals则是一个方法,你可以为自己的类编写equals方法来判断是不是相等。这里String类就提供了equals方法来判断两个String对象是不是相同,而不是去判断两个String对象是不是同一个对象,因为我们一般使用中,只关心两个字符串内容相同与否,而不会关心是不是同一个对象。



参考链接:https://blog.csdn.net/weixin_33974433/article/details/94322785



2)equals与contentEquals区别


  • equals只能对2个String对象内容比较。如果一个是String,一个是BufferedString,即使内容相同,仍然返回false

  • contentEquals比较类型为java.lang.CharSequence的对象内容是否相同。常用的String、StringBuffer、StringBuilder都实现了接口java.lang.CharSequence





参考链接:https://blog.csdn.net/sinat_25318461/article/details/81744089



posted @ 2022-04-05 16:05  卡卡发  阅读(171)  评论(0)    收藏  举报