说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

今天的最近一问....

编辑:说三道四文库 发布时间:2018-04-23 09:41
HTML文档下载 WORD文档下载 PDF文档下载
在我的a.jsp中,有两个Form,和两个提交按钮
  <Form action="a.jsp?myaction=go"..>
    ...
  </Form>

  <Form action="a.jsp?myaction=del"..>
    ...
  </Form>
在页面的最上面有:
String myaction = request.getParameter("myaction");
 if(myaction=="go"){
    ....
  } else if (myaction="del"){ //提示这句错:
   ...
  }
错误:
C:\jhome\Tomcat5.0\work\Catalina\localhost\myjsp\org\apache\jsp\reg_jsp.java:103: incompatible types
found   : java.lang.String
required: boolean
   } else if (myaction="del"){    
              ^
1 error

这是为什么,这样的程序也会错,,,,,为什么呀
myaction="del" 写错了
        ~~

而且
不能用==来比较
用equals方法
哦,少了=
加上=,还是一样
为什么这样不行:  myaction=="del"
而这样可以: myaction.equals("del")
if(myaction.equals("go")){
  ...
}
记住了Java的字符串不能用“= =”来比较

要用equals()
******引自 Java api文档********
equals
public boolean equals(Object anObject)
Compares this string to the specified object. The result is true if and only if the argument is not null and is a String object that represents the same sequence of characters as this object.
Overrides:
equals in class Object
Parameters:
anObject - the object to compare this String against.
Returns:
true if the String are equal; false otherwise.
See Also: 
compareTo(java.lang.String), equalsIgnoreCase(java.lang.String)
*********************
Object之间用“==”其实比较的是2个Object的地址而不是它们的value(值)
这个是我在csdn上看到的帖子,具体的url不知道了,我自己留了备份,你看看
http://www.charry.org/article/list.asp?id=53
谢了
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘