为什么两个值不相等,怎么想也想不通?

study2002 2004-10-10 04:37:46
<%
String method=getStr((String)(request.getParameter("method")));
out.println(method); //打印取值
if (method.trim()=="add")
{
out.println("成功!");
}
========
注:我是地址传参的default.jsp?method=add
然后取值,我打印的时候是add
但为什么却无成执行if语句呢?不明白
...全文
113 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhonghua2003 2004-10-10
我只要一分.
回复
mlovex 2004-10-10
为什么这样子写哦。最好写成
if ("add".equals(method.trim()))
常量写在前面。不会出错。

正解 !!
因为method可能会是null 写在前面就抛异常
回复
realfish 2004-10-10
为什么这样子写哦。最好写成
if ("add".equals(method.trim()))
常量写在前面。不会出错。
回复
iiisan 2004-10-10
if (method.trim()=="add" || method.trim().equals("add"))
{
out.println("成功!");
}
是最好的写法!
回复
ladofwind 2004-10-10
本类型可以用==
回复
realfish 2004-10-10
基本类型可以用==。其他的这样子比都是比地址,没有什么意义的。
回复
szpqq 2004-10-10
像集合对象也用,==一般可以为在数值方面
回复
longrenrex 2004-10-10
equales
回复
study2002 2004-10-10
谢谢,再多一句,其它类型的还是可以用"=="的吗?因为我有看过,是不是仅字符串要用equals,谢谢,快结帐了!
回复
weipj007 2004-10-10
str1.equals(str2);
回复
zhugang 2004-10-10
同意楼上的,java字符串比较不能用"=="
回复
jein 2004-10-10
打错了,是 equals
回复
jein 2004-10-10
用 equales
回复
realfish 2004-10-10
if (method.trim()=="add")

改成if (method.trim().equals("add"))
比值,不是比地址
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告