怪事一件!

flyingzh 2003-03-26 05:05:00
我在字符串比较时,遇到一些怪事,请高手指点:
useID和password是从上一页传来的值,其值分别为:NAME,PASS;
pass是从数据库中取出的值,其值为PASS
,而我在做pass和password的比较时,两个值却不等,是怎么回事呢?即结果中不输出“hello”
,请高手指点;
<%
String useID,password,pass,pass1;
//从上一页或得useID和password的值;
useID = request.getParameter("useID").trim();
password = request.getParameter("password").trim();
String sql;
int i = 0;
sql = "select * from useinfo where useID = '" + useID + "'";
ResultSet rs = stm.executeQuery(sql);
while(rs.next())
{
i++;
pass=rs.getString(2).trim();
session.setAttribute("pass",pass);
}
pass1=(String)session.getAttribute("pass");

//j,k作用来验证pass和password两个字符串的长度是否相等;
int j,k;
j = pass1.length();
k = password.length();
out.println(j);
out.println(k);
if(pass1 == password)
{out.println("hello"); }
...全文
20 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
joexf 2003-03-26
  • 打赏
  • 举报
回复
==:用于比较两个对象是否相同(同一内存地址),以及数据类型的比较
String是对象,比较是否相同用equals();
shidu 2003-03-26
  • 打赏
  • 举报
回复
try :
pass1.equals(password)
xhongyang 2003-03-26
  • 打赏
  • 举报
回复
有时比较字符串不相等可以把要比较的值打印出来,排除程序逻辑上的问题。
acefr 2003-03-26
  • 打赏
  • 举报
回复
== 是比较串是否存在同一个位置。用equals()或者compareTo()
jcq 2003-03-26
  • 打赏
  • 举报
回复
比较字符串请不要用==
jcq 2003-03-26
  • 打赏
  • 举报
回复
用这个
pass1.equals(password)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧