码迷,mamicode.com
首页 > 其他好文 > 详细

字符串关于==与equals的比较

时间:2014-09-07 12:19:25      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:c   new   r   字符串   对象   string   false   ls   equals   

String S1=new String("abc");

String s2="abc";

String s3="abc";

String s4=new String ("abc");

s1==s2 ; false;

s2==s3; true;

s1==s4 ;false;

s1.equals(s2);true;

== 是比较两个字符串的地址是否相等,而直接声明的字符串(不是new出来的)是放在一个字符串常量池里面,相同的地址是一样的,所以S2=S3是true。

其它的new出来的字符串都是单独的一个对象,所以地址是不相等的。

但是equals相对于字符串是重写了的,所以比较的是内容。

字符串关于==与equals的比较

标签:c   new   r   字符串   对象   string   false   ls   equals   

原文地址:http://www.cnblogs.com/hz0356/p/3960215.html

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