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

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语句呢?不明白
...全文
132 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
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"))
比值,不是比地址

81,092

社区成员

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

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