怪事一件!

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"); }
...全文
7 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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)
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2003-03-26 05:05
社区公告
暂无公告