java 中的字符串比较

Posted wutongicn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 中的字符串比较相关的知识,希望对你有一定的参考价值。

java字符串比较 有两种:

  String str1 = "abc";

  String str2 = "abc";

 1)  str1 == str2

 2)  str1.equals( str2 )

  两者的区别在于  == 比较 两个字符串 的 地址空间 是否相同。 因为 对于 java 字符串常量 在内存中有共享的机制, 比如 str1 与 str2 实际上是指向 同一地址空间,故 str1==str2 为true。但是 str1=="abcd".subString(0,3) 为 false .

例如:

技术分享图片

结果为:

技术分享图片

 而 str1.equals( str2 ) 始终比较两个变量的值。例如:

技术分享图片

结果为:

技术分享图片

 

两种比较的机制不同。

因此 , 如果比较两个字符串的值是否相同 ,千万不要用 ==

很神奇。。。

 

以上是关于java 中的字符串比较的主要内容,如果未能解决你的问题,请参考以下文章

Java中的字符串比较

Java中的相似性字符串比较

java 中的字符串比较

如何比较Java中的两个字符串日期?

如何比较 Java 中的字符串?

如何比较 Java 中的字符串?