日期:2014-05-18  浏览次数:20695 次

大神来帮我看个过滤器的小问题吧

a的值确实是null,但if判断的时候,不论用a==null,还是a.equals(null)都跳转不了,改成a!=null却奇葩的跳转了 ,这是怎么回事呢,该怎么改?
------解决方案--------------------

valueOf
public static String valueOf(Object obj)返回 Object 参数的字符串表示形式。 

参数:
obj - 一个 Object。 
返回:
如果参数为 null,则字符串等于 "null";否则,返回 obj.toString() 的值。

怀疑楼主的
session.getAttribute("name")
 拿到的是null了,然后转出来就是字符串的“null"
这样 a 就 不是null了,而是字符串”null"了,这样就通过.equals() 方法判断吧
------解决方案--------------------
楼上正解,楼主请忽略我的所有回答
"null".equals(a)
------解决方案--------------------
a不是空值而是,字符串null,即"null"