String类的问题 是啊,我也遇到过,所以从此我都用equals,关注 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 JAVA里面当两个对象进行比较时,应该用equals,==只有当两个变量指向同一对象时才返回TRUE……这个问题书里面都有讲的,以前也有很多人问过了……至于长度为什么不一样,这要看你的代码才知道了…… 这是java的机制造成的,正如ender所说的,当两个对象进行比较时,应该用equals,==只有当两个变量指向同一对象时才返回TRUE,==只是比较它们的reference的值,长度不一样是因为,你的赋值方式不一样,String a="abcd";的话它把它放在一个字符串池中,而String b=getPassword();它会把它放在对象中,产生的机制都不同,难免长度不一样了 equals比较对象内容,==比较对象地址 yes,equals比交对象内容,==比较地址答得很好 ==比较对象地址?如果比较的是Object的话,比较引用,如果比较的是基础类型(int,char,...),则直接比较值。 如何自动刷新一个屋关联的页面 java applet 下拉列表沒有下拉選項 按照要求,求设计验证 IP 的思路 求助!用NetBeans 做一个JAVA汇率转换的Application!! 如何才能打印出的数据 java 可以直接编译成 exe吗? 好东西! 小弟天生愚笨 ̄ ̄Help!!!! 请问try ... catch 和 throw有什么区别,谢谢 这个图形打印有问题 java的应用领域!——请正在从事java开发的朋友进来! 请教serializable接口
这个问题书里面都有讲的,以前也有很多人问过了……至于长度为什么不一样,这要看你的代码才知道了……
正如ender所说的,当两个对象进行比较时,应该用equals,==只有当两个变量指向同一对象时才返回TRUE,==只是比较它们的reference的值,长度不一样是因为,你的赋值方式不一样,String a="abcd";的话它把它放在一个字符串池中,而String b=getPassword();它会把它放在对象中,产生的机制都不同,难免长度不一样了
equals比交对象内容,
==比较地址
答得很好
如果比较的是Object的话,比较引用,
如果比较的是基础类型(int,char,...),则直接比较值。