注册 登录
编程论坛 J2EE论坛

判断相等死活不行

player 发布于 2007-02-08 15:18, 1210 次点击
今天在网页中来判断两个string是否相等,用语句输出后是相等的两个值,却怎么判断也是false,请帮忙看一看

//取出原先存入的session值,经输出值是admin
String usergroup=(String)session.getAttribute("usergroup");

String admin=new String("admin");
//输出值为false
out.println(usergroup.equals(admin));

//用"=="判断也是输出false
out.println((usergroup==admin));

请问怎样比较才是"true"
17 回复
#2
支离破碎2007-02-08 15:29

你二个值都不相等,当然是false了,字符串比较用equals

#3
fqj7932007-02-08 15:53
usergroup是你存在session中的变量名吧,out.println((usergroup==admin));这一句肯定是false了,你将这一句String admin=new String("admin");改成String admin="admin";试试
#4
支离破碎2007-02-08 16:10
主要是他一个是“usergroup“,一个是“admin“,肯定不相等了。
#5
fqj7932007-02-08 16:36
usergroup是他在session中的一个变量.如果在session.setAttribute("usergroup",admin)语句是这样做的话,应该是可以的.
#6
支离破碎2007-02-08 17:02
你这样做是从这里面取值。usergroup只是一个key,admin才是你的value,
所以你要取就只能String userLevel=session.getAttribute("usergroup")就可以了.然后你再用userLevel.equals("admin")就可以了
#7
fqj7932007-02-08 17:18
是的,我想LZ就是这个意思吧!
#8
风月_无边2007-02-08 17:23
userLevel.equals("admin");
或是
String admin=new String("admin");
out.println(userLevel==admin);
应该都是可以的.

#9
支离破碎2007-02-08 17:24
String admin=new String("admin");
out.println(userLevel==admin);
这个应该是等于false,不会返回true;

[此贴子已经被作者于2007-2-8 17:26:58编辑过]

#10
支离破碎2007-02-08 17:26
上面打错。。。。不要看。。。。怎么不能编辑掉`~
#11
player2007-02-08 20:09
以下是引用fqj793在2007-2-8 15:53:28的发言:
usergroup是你存在session中的变量名吧,out.println((usergroup==admin));这一句肯定是false了,你将这一句String admin=new String("admin");改成String admin="admin";试试

三楼的方法试了,还是不成,返回值仍为false,用六楼的方法会产生编译错误,Type mismatch: cannot convert from Object to String,大家再想想办法帮忙解决一下,真郁闷

#12
liuliulc2007-02-08 20:33
String usergroup=(String)session.getAttribute("usergroup");把这东西打出来,看到底是什么.比较上是没有错的(要用EQUAL())

[此贴子已经被作者于2007-2-8 20:40:55编辑过]


#13
player2007-02-08 20:43

值没有问题,我都打印出来了,确是admin

#14
liuliulc2007-02-08 20:55
String admin=new String("admin");//这个不要
usergroup.equals("admin");直接比就是撒!如果再不行,那真可能是'人品'问题了嘿嘿!.
#15
player2007-02-08 21:08
奇怪了,真是偶人品不好?
#16
支离破碎2007-02-09 08:53

肯定是哪写错了,你把从session取出的值,直接和admin用equals比较就可以了

#17
神vLinux飘飘2007-02-09 10:43
我想删帖
#18
yangwudong2007-02-11 01:06
难道回事大小写的问题,还是你需要trim一下啊?自己再弄弄看看吧!最好trim一下,然后用那个忽略大小写的比较
1