我是靠谱客的博主 外向服饰,这篇文章主要介绍if(str == null || "".equals(null))和if(str == null || str.equals(""))有什么区别吗if(str == null || "".equals(null))和if(str == null || str.equals(""))有什么区别吗 ,现在分享给大家,希望可以做个参考。

if(str == null || "".equals(null))和if(str == null || str.equals(""))有什么区别吗 

 

 
如果str == null 为真,则前者if()中会返回false,后者if()会报空指针异常;
你这里使用的str字符串对象是null,表示没有指向任何对象,在执行str.equal()方法时,虚拟机会发现str不能调用其实例方法equals(),所以返回异常,表明这是一个需要引起注意的地方;反过来 "".equals(str),""不为null,而是一个字节为0的对象,所以不会抛出异常,一个不为空,一个为空,当然返回false;
再有,写str != null 没有错,但是最好养成 null != str的习惯,因为 null!=str 永远不会产生空指针异常,但其他的很容易产生,这也是极限编程建议的写法

转载于:https://www.cnblogs.com/xiaoxiao0314/p/6593804.html

最后

以上就是外向服饰最近收集整理的关于if(str == null || "".equals(null))和if(str == null || str.equals(""))有什么区别吗if(str == null || "".equals(null))和if(str == null || str.equals(""))有什么区别吗 的全部内容,更多相关if(str内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(137)

评论列表共有 0 条评论

立即
投稿
返回
顶部