当前位置: 代码迷 >> Java Web开发 >> 关于java中equals()用法
  详细解决方案

关于java中equals()用法

热度:551   发布时间:2007-09-01 19:08:38.0
关于java中equals()用法
String dbPassword = userDAO.findPassword(user.getUserName());
String passwd=user.getPassword();
我在调试时发现dbPassword与passwd的值相同,可是dbPassword.equals(passwd)的返回值是false,应该是true才对啊,是不是这对String是不一样的呀。
我看了网上的一些关于equals的用法,里面说只要类型相同,值相同,返回值就为true.
这是什么原因呀?麻烦各位帮我分析一下...
搜索更多相关主题的帖子: java  equals  用法  

----------------解决方案--------------------------------------------------------

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


----------------解决方案--------------------------------------------------------
按楼上的说法改了一下,问题解决了...谢谢楼上的!
我还想问一下大家为什么从数据库取出来时数据带了空格呢?

----------------解决方案--------------------------------------------------------

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


----------------解决方案--------------------------------------------------------
楼上正解
----------------解决方案--------------------------------------------------------
哦...
知道了原来我的数据库中密码设置为10位,我输入的密码为9位,剩下的用空格补了,多谢楼上各位的指点!~!

----------------解决方案--------------------------------------------------------
  相关解决方案