JAVA中NULL和“”有什么区别?
<%@ page contentType="text/html;charset=gb2312"%><!--JSP指令标签-->
<%@ page import="java.util.*"%> <!--JSP指令标签-->
<html><!--HTML标记符-->
<body>
<form name="form1" action="instring.jsp" method="post">
<input type="text" name="jcs">
<input type="submit" name="submit" value="提交">
</form>
<%!String s=null;%><!--变量声明-->
<%//以下为Java程序片
s=request.getParameter("jcs");
if(s==null)
{
out.println("您输入的是空串!");
}
else
{
out.println("您输入的是:"+s);
}
%>
</body><!--HTML标记符-->
</html>为什么我在TEXT中什么也不输,它依然输出“您输入的是:”,难道不应该是”您输入的是空串“吗
但是为什么改成下面的样子就正确了呢?JAVA中NULL和“”有什么区别?s=request.getParameter("jcs");
if(s==null)s="";
if(s.equals(""))
{
out.println("您输入的是空串!");
}
else
{
out.println("您输入的是:"+s);
}
高手指教,呵呵
<%@ page contentType="text/html;charset=gb2312"%><!--JSP指令标签-->
<%@ page import="java.util.*"%> <!--JSP指令标签-->
<html><!--HTML标记符-->
<body>
<form name="form1" action="instring.jsp" method="post">
<input type="text" name="jcs">
<input type="submit" name="submit" value="提交">
</form>
<%!String s=null;%><!--变量声明-->
<%//以下为Java程序片
s=request.getParameter("jcs");
if(s==null)
{
out.println("您输入的是空串!");
}
else
{
out.println("您输入的是:"+s);
}
%>
</body><!--HTML标记符-->
</html>为什么我在TEXT中什么也不输,它依然输出“您输入的是:”,难道不应该是”您输入的是空串“吗
但是为什么改成下面的样子就正确了呢?JAVA中NULL和“”有什么区别?s=request.getParameter("jcs");
if(s==null)s="";
if(s.equals(""))
{
out.println("您输入的是空串!");
}
else
{
out.println("您输入的是:"+s);
}
高手指教,呵呵
<input type="text" name="jcs">
就应该是null了。因为form里有<input type="text" name="jcs">,虽然你没有输入,但是服务器会因为是一个空字符串。
""是空的字符串,但不是空对象
楼上解释的有道理。
若你想进行判断是否为空可以参考如下代码:
<%
s=request.getParameter("jcs");
if(s==null || "".equals(s))
{
out.println("您输入的是空串!");
}
else
{
out.println("您输入的是:"+s);
}
%>