首页 > 编程语言 > 详细

java String的“==”和equals的区别 (第一篇博客)

时间:2015-03-21 14:10:46      阅读:330      评论:0      收藏:0      [点我收藏+]

==和equals都是有比较是否相等的作用,但是它们二者有什么区别呢?

废话不多说,直接戳重点

==比较的是地址,equals比较的是内容

但是要注意的是,在java虚拟机中含有字符串池(直接量在此池内),相同内容的字符串直接量对应为相同的对象。。。说得是不是有点抽象,举例来说明一下吧


String s1="hello";
String s2=new String ("hello");
s1=="hello";//true ,因为都指向直接量"hello"
s1==s2;//false ,因为s1指向字符串池中的字符串,而s2是new出来的一个实例,二者指向的对象/            //不一样,也就是它们的地址不一样

equals就比较容易理解了,只要内容相同,则返回ture,==内容相同不一定是true,初学者很容易在这里犯错,比如上面的例子

本文出自 “kinghacker” 博客,请务必保留此出处http://kinghacker.blog.51cto.com/7767090/1622735

java String的“==”和equals的区别 (第一篇博客)

原文:http://kinghacker.blog.51cto.com/7767090/1622735

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!