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

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

时间:2015-03-21 14:11:43      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:equals   java   初学者   字符串   ==   

==和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的区别 (第一篇博客)

标签:equals   java   初学者   字符串   ==   

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

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