Java字符串比较


  一定不要使用==运算符检测两个字符串是否相等!这个运算符只能确定两个字符串是否放置在同一个位置上。当然,如果字符串放置在同一个位置上,它们必然相等。但内容相同的多个字符串完全有可能被拷贝放置在不同的位置上

  如果虚拟机始终将相同的字符串共享,就可以使用==运算符检测字符串是否相等。但实际上只有字符串常量才是共享的,而通过+号拼接产生或者substring等操作产生的字符串并不是共享的。因此使用==比较字符串是不可靠的,相当于在程序中埋下一颗炸弹,是不是产生令人头疼的BUG。

 


  可以使用equals()方法检测两个字符串是否相等。

stringA.equals(stringB);
"Hello".equals("Hello");

  如果想要忽略大小写的区别,可以使用equalsIgnoreCase()方法。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM