标题:关于java中equals()用法
只看楼主
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
 问题点数:0 回复次数:5 
关于java中equals()用法
String dbPassword = userDAO.findPassword(user.getUserName());
String passwd=user.getPassword();
我在调试时发现dbPassword与passwd的值相同,可是dbPassword.equals(passwd)的返回值是false,应该是true才对啊,是不是这对String是不一样的呀。
我看了网上的一些关于equals的用法,里面说只要类型相同,值相同,返回值就为true.
这是什么原因呀?麻烦各位帮我分析一下...
搜索更多相关主题的帖子: java equals 用法 
2007-09-01 19:08
Gramary
Rank: 4
等 级:贵宾
威 望:13
帖 子:769
专家分:0
注 册:2007-7-9
得分:0 

应该是值不一样`
所以才会出现这样的问题
有可能一个空格也是 不匹配的
你在程序中输出`` 用眼睛仔细看一下是不是一样的
如果是一样的还是不匹配`
就可能取出来的时候带了空格`` 你调用.trim() //消除两边的空格
String dbPassword = userDAO.findPassword(user.getUserName()).trim();
String passwd=user.getPassword().trim();


学编程不能急,要慢慢来。
2007-09-01 20:13
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
得分:0 
按楼上的说法改了一下,问题解决了...谢谢楼上的!
我还想问一下大家为什么从数据库取出来时数据带了空格呢?

英者自知,雄者自胜
2007-09-01 20:59
枫飘天涯
Rank: 2
来 自:北京
等 级:新手上路
威 望:4
帖 子:251
专家分:0
注 册:2006-10-13
得分:0 

比如说 你在数据库中设的是varchar(10)而你放进去的字符只有8位 那
剩的2位 数据库会默认会空格来填充的


*、還⒋聼媽媽德話吧 晩點再戀愛吧
2007-09-01 21:18
sea7
Rank: 2
等 级:新手上路
威 望:3
帖 子:291
专家分:0
注 册:2007-2-17
得分:0 
楼上正解

软件是一种修养
2007-09-01 21:57
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
得分:0 
哦...
知道了原来我的数据库中密码设置为10位,我输入的密码为9位,剩下的用空格补了,多谢楼上各位的指点!~!

英者自知,雄者自胜
2007-09-01 22:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-167048-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.642267 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved