问题:
我用
<%
String id=“1”;
if(id != null){
if(id == "1")
{
%>
1<br> id=<%=id%> //此处是如果id=1的时候,显示1 并且给出id
<%
}
else{
%>
2 <br> id=<%=id%> //此处是如果id不是1的时候,显示2 并且给出id
<%
}}
else
{%>
3 //此处是如果id=null的时候,显示3
<%} %>
得出结果是1 id=1,这是正常现象。如果我用这种方法:
<a href="index.jsp?id=1">登陆</a>
<%
String id=request.getParameter("id");
if(id != null){
if(id == "1")
{
%>
1<br> id=<%=id%> //此处是如果id=1的时候,显示1 并且给出id
<%
}
else{
%>
2<br> id=<%=id%> //此处是如果id不是1的时候,显示2 并且给出id
<%
}}
else
{%>
3 //此处是如果id=null的时候,显示3
<%} %>
得出结果是2 id=1谁能解释下第二种现象是为什么,为什么我用request.getParameter去赋值id的时候,id值为1,但是用if (id == "1")时他却判断成id不是1 但紧跟后面的有说id=1.所以想问下第二种中怎样正确判断id是多少
我用
<%
String id=“1”;
if(id != null){
if(id == "1")
{
%>
1<br> id=<%=id%> //此处是如果id=1的时候,显示1 并且给出id
<%
}
else{
%>
2 <br> id=<%=id%> //此处是如果id不是1的时候,显示2 并且给出id
<%
}}
else
{%>
3 //此处是如果id=null的时候,显示3
<%} %>
得出结果是1 id=1,这是正常现象。如果我用这种方法:
<a href="index.jsp?id=1">登陆</a>
<%
String id=request.getParameter("id");
if(id != null){
if(id == "1")
{
%>
1<br> id=<%=id%> //此处是如果id=1的时候,显示1 并且给出id
<%
}
else{
%>
2<br> id=<%=id%> //此处是如果id不是1的时候,显示2 并且给出id
<%
}}
else
{%>
3 //此处是如果id=null的时候,显示3
<%} %>
得出结果是2 id=1谁能解释下第二种现象是为什么,为什么我用request.getParameter去赋值id的时候,id值为1,但是用if (id == "1")时他却判断成id不是1 但紧跟后面的有说id=1.所以想问下第二种中怎样正确判断id是多少
解决方案 »
- weblogic中部署两个项目在同一个服务器和在不同的服务器下面有何区别
- 求 登陆后跳转到登陆前的页面 的方法
- 关于javascript传值的问题
- 哪有wise installation system使用文档有JavaWEB项目的最好
- JSP读取oracle中的图片并显示
- 谁有Struts API 中文版 tomcat API中文版发给我,求求哥哥姐姐了
- hibernate 为 mysql 生成的 bit 数据类型时出现问题
- 最后60分问人:请问如何执行一段JSP代码???
- 下载.doc文件,确用word打开了,有好的解决办法吗?
- 关于读取数据库时自动递增引起的问题,请各位帮忙看下谢谢。
- FusionGadgets 谁会用?
- 求ab两点距离,java面试时遇到的麻烦
== 和equals的区别你要了解下!分别是比较对象的地址和值。
其次:
当你用String id="1";和id=="1"时,比较的是同一个对象.地址相同所以相等(==)
当你用String id=request.getParameter("id"); 得到id的值时,id指向的是一个地址,只是值等与1而已
再次比较id=="1"时,(对象id) 和(对象"1")不是同一内存地址,地址不同值相同(equals)你把if(id == "1") 都换成if(id.equals("1")) 就都是想要的结果了。
2 <br> id= <%=id%> //此处是如果id不是1的时候,显示2 并且给出id
注意上面一行,你这样些就是在输出id=1啊!并没有对id重新赋值为2
在这一行前面加上
<%id="2"%> 就可以了
String id=“1”; if(id == "1") 这两个1都在一个页面,编译执行后,相当于在一个类中,内存空间共用。所以可以采用==判断第二个:由于是从另一个页面获取过来,相当于在两个类中。不能用==判断,只能用equals判断。