null与""的区别
高手给详解一下!
------解决方案--------------------null表示不存在对对象的引用,而 " "表示空字符串,存在引用,也就是说存在指向 " "的“
指针”。
------解决方案--------------------打个比方,一个网页向另一个网页提交表单,如果跟本不存在某一个项(接受aa,但表单里根本没有aa),则会取得null,
<form action= "page2.jsp ">
<input type = "submit " />
</form>
但如果有aa这个项,只是不往里面写任何东西,就直接提交,就会接受到 " "
<form action= "page2.jsp ">
<input type = "text " name= "aa "/>
<input type = "submit " />
</form>
---------------------------------------------
<%
String s = request.getParameter( "aa ");
if ( s == null)
{
%>
s is null
<% }
else{
if( s.equals( " ")){
%>
s is " "
<% } } %>
------解决方案--------------------JAVA不要用指针来比喻好不,NULL就是没有对象内存地址的引用,空字符串说明存在对象,但是对象是空的,打个比喻:你拿地址去找人,NULL就是根本没的这个地址,人就更不用说了;空字符串说明有这个地址,但是没的人的.
------解决方案--------------------好像今天第2问了
------解决方案--------------------楼上说的很清楚 也就这么点区别
------解决方案--------------------null表示不存在,引用的时候会出现异常
------解决方案--------------------已经很清楚了,顶
------解决方案-------------------- " "是空字符串,是存在的。
null是不存在的。
------解决方案--------------------正如gaoqing888() 所说,NULL就是没有对象内存地址的引用,空字符串说明存在对象,但是对象是空的
------解决方案--------------------null表示不存在,引用的时候会出现异常
" "是空字符串,是存在的。
------解决方案--------------------一个是空地址,一个是内容为空的对象,他们要和其他String比较的方法不同,null用==来比较, " "用equals比较,如果一个String对象和 " "用==来比较,那永远是false,因为他们的地址是不同.
------解决方案--------------------null不分配内存
" "已经分配了内存