java中"".equal(name)与name.equal("")有什么区别
java中,程序员为什么将字符串变量与空比较习惯写成空与字符串比较呢?eg:Stringname;if(name.equal("")){}写成if("".equal(na...
java中,程序员为什么将字符串变量与空比较习惯写成空与字符串比较呢?
eg:
String name;
if(name.equal("")){}写成if("".equal(name)){} 展开
eg:
String name;
if(name.equal("")){}写成if("".equal(name)){} 展开
3个回答
展开全部
机制是这样的 你 在if中写 name == null 那么程序会先去判断 name里面的值 如果这个name是你使用参数方式传递进来的,为null无问题,如果是其他方式得到的值 那么就会抛异常
这个就跟 if(null == name){}一样 因为如果name为null的话 那么会跑
nullpointexception 异常 那么你的程序无法执行下去
如果null写在前面 那么 程序会拿 null去与name比较 结果就是true 那么程序不会报错的
所以 "".equals(name)这么写 也节省了程序的开销 速度会快上一点
这个就跟 if(null == name){}一样 因为如果name为null的话 那么会跑
nullpointexception 异常 那么你的程序无法执行下去
如果null写在前面 那么 程序会拿 null去与name比较 结果就是true 那么程序不会报错的
所以 "".equals(name)这么写 也节省了程序的开销 速度会快上一点
展开全部
if("".equal(name)){} 这样可以避免因为name为null而产生异常
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
"".equal(name)当name为null时,不是抛出异常。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询