码迷,mamicode.com
首页 > 编程语言 > 详细

java 中的字符串比较

时间:2018-02-01 00:18:25      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:因此   字符串   equal   class   变量   com   blog   alt   http   

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 中的字符串比较

标签:因此   字符串   equal   class   变量   com   blog   alt   http   

原文地址:https://www.cnblogs.com/wutongicn/p/8394863.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!