在Java中,一个类为空的判断是常用的功能。但是各种类的空判断却不一样
当一个方法返回的是一个Object时,应使用==null来判断是否为空,例如在Servlet中的session判断用户是否登录可以用如下的代码
if (session.getAttribute("LoginUser")==null){
.............
}
if (request.getParameter("id").toString().equals(null)){
out.println("未提供参数");
}else{
String id=request.getParameter("id").toString();
out.println(id);
}
假设页面地址为 http://localhost/test.jsp
如果不加判断 直接使用
String id=request.getParameter("id").toString();
out.println(id);
会造成空指向异常,而使用了判断后,这种情况下不报错,在页面上显示“未提供参数”。如果地址栏输入的是http://localhost/test.jsp id=123
则页面输出“123”
另外在字符串的“空”验证时还要注意一种情况,那就是“”空。
如果假想Java中有指针的概念的话,String a为null空,则表示变量没有指针去映射它;而String a为“”空,则表示该字符串有指针映射,但是映射到的内容为空。