一定不要使用==运算符检测两个字符串是否相等!这个运算符只能确定两个字符串是否放置在同一个位置上。当然,如果字符串放置在同一个位置上,它们必然相等。但内容相同的多个字符串完全有可能被拷贝放置在不同的位置上。
如果虚拟机始终将相同的字符串共享,就可以使用==运算符检测字符串是否相等。但实际上只有字符串常量才是共享的,而通过+号拼接产生或者substring等操作产生的字符串并不是共享的。因此使用==比较字符串是不可靠的,相当于在程序中埋下一颗炸弹,是不是产生令人头疼的BUG。
可以使用equals()方法检测两个字符串是否相等。
stringA.equals(stringB);
"Hello".equals("Hello");
如果想要忽略大小写的区别,可以使用equalsIgnoreCase()方法。
地势坤,君子以厚德载物。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步