"".equals(name) 和name.equals("") 都什么意思?有区别吗?
5个回答
展开全部
意思都是比较两个字符串是否一样
"xxx".equals(name) 不会报空指针异常,而name.equals("xxx")当name为空时会报空指针异常。
"xxx".equals(name) 不会报空指针异常,而name.equals("xxx")当name为空时会报空指针异常。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没区别就是对比两个的内容是不是相同
前面都可以很好的避免name=null时出现异常
后面当name = null时就会出错终端
前面都可以很好的避免name=null时出现异常
后面当name = null时就会出错终端
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两个都是比较“”的地址和name的地址是否指向同一个地址,即判断name是否为“”,建议用前者,因为name可能是null,此时name.equals("")就会报错,而前者则会避免这个问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
想必楼主现在已经成为大牛了,那我来为后来者解答一下吧!
name.equals("") ;
当name为null时,程序就等于 null.equlas("");null是一个关键字,是不可调用方法的。程序会抛出空指针异常。
"".equals(name) ;
而这种情况: "".equals(null) ;
equlas( )方法允许比较null值。
name.equals("") ;
当name为null时,程序就等于 null.equlas("");null是一个关键字,是不可调用方法的。程序会抛出空指针异常。
"".equals(name) ;
而这种情况: "".equals(null) ;
equlas( )方法允许比较null值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询