| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1048 人关注过本帖
标题:关于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
快速回复:关于java中equals()用法
数据加载中...
 
   



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

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