a==null和a.equals("null")有什么区别?

Stringa=request.getParameter("state");在页面里,为什么a.equals("null")为true,而a==null为false,a为... String a = request.getParameter("state");
在页面里,为什么a.equals("null")为true,而a==null为false,
a为定义的一个接收传入参数的字符串,有知情者相劳解答一下.
展开
 我来答
匿名用户
2013-06-09
展开全部
String a="XXX";
equals 是值比团拿激较,==是比较内存

类似这样的声明表明已经分配了空间,再用a==null来判断,显得多余

""是空字符串,但是也是有内存空间的,而null是空对象。
对于字符串,用==和用equals实际上是一样的塌袜。完全没有必要得用两次判断敏橡。

你可以这么理解:
A==B,比较句柄,就是比较变量A,B的地址存放的东西,比如int A=0;String B="bbbb";那么变量A的地址方的就是0,B的地址却是放着存放"bbbb"的地址,比如是#FFFF000之类的。所以A==B就是比较0和FFFF000啦。
而A.equals(B),就是在A和B都是引用(对象句柄,就是存放了对象地址啦)时,比较A,B存放的地址里的内容。比如A="aaaa",b="aaaa",两个"aaaa"不管是不是同一个,A.equals(B)都是真。
匿名用户
2013-06-09
展开全部
a==null,是说a这个变量还没有内容游指橘,也就是a为空
a.equals("null")为true是说字符串a的内神团容为逗掘“null”这个字符串。应该如此。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式