NullPointerException是大家都不想遇到的东西,很讨厌,但其实它往往是由于我们的不良编码习惯导致的。

定义一个类:

class Person {int id;String name;// ...
}

编码习惯不好的人可能会这么来写:

p.name += "Smith";

这根本没判空啊!

那还有的人做了基本的判空:

if (p.name != null) {p.name += "Smith";
}

还是不对啊,你有没有想到Person对象本身就可能是空的啊!

所以可以这么写:

if (p != null && p.name != null) {p.name += "Smith";
}

当然了,比如用Optional做判空处理之类的我们这里就不谈了,这里简单聊聊判空的一点小细节就好啦!

在想到判属性是否为空的时候,千万不要忘了先判对象是否为空!

【Java】不要直接使用引用未判空的对象相关推荐

  1. java实体类及类属性判空

    敲代码时判空是必须的,这里分享一下java实体类及类属性判空体会. 一.实体类判空: 1.1实体类判空 如果是读库返回实体类,我们直接判空即可,如下图 1.2如果是先定义了类就不能这样判空了,因为ne ...

  2. java list 去空字符串_【JAVA基础】list和字符串判空

    前言: 我们在项目中经常需要对获取的list集合或String类型变量判空,看前辈的代码,不同的人判空的方法不一样,那么,Java代码中,对list集合和String类型变量到底该如何判空呢? 一.J ...

  3. java判空null前后,关于java:引不要再使用null判空了

    以下文章来源于Hollis ,作者上帝爱吃苹果 对于Java程序员来说,null是令人头痛的货色.时常会受到空指针异样(NPE)的骚扰.连Java的发明者都抵赖这是他的一项微小失误. 那么,有什么方法 ...

  4. 在 Java 中如何优雅地判空

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 李良逸 来源 | blog.imuxuan.c ...

  5. 如何判断map为空_在Java中如何优雅地判空

    来自:李良逸 链接:http://blog.imuxuan.com/archives/86 判空灾难 作为搬砖党的一族们,我们对判空一定再熟悉不过了,不要跟我说你很少进行判空,除非你喜欢 NullPo ...

  6. Java 判空工具方法大全

    java 判空工具方法大全 前言 一.一般类型的判空 1.String 类型判空 2.包装类型判空 二.类对象判空 1.类对象判空 三.容器类型判空 1.List.Set 判空 2.Map 判空 前言 ...

  7. 如何判断map为空_Java到底如何更优雅地判空

    Java面试笔试面经.Java技术每天学习一点 Java面试 关注不迷路 作者:李良逸 来源:http://blog.imuxuan.com/ 判空灾难 作为搬砖党的一族们,我们对判空一定再熟悉不过了 ...

  8. Optional判空操作

    Optional判空 JAVA在1.8版本推出Optional,官方文档将其描述为可能包含或不包含非空值的容器对象,目前Optional用于避免程序出现异常NullPointerException. ...

  9. Java字符串拼接,去首尾, 判空, 类型转换

    字符串拼接, 去首尾, 判空, 类型转换 去掉首尾空白字符 使用trim()方法可以移除字符串首尾空白字符. 空白字符包括空格,\t,\r,\n: String s = "\t \u3000 ...

最新文章

  1. Jittor 的Op, Var算子
  2. 你是中层管理者?嗯,一个表面看似风光,实际却很 “鸡肋” 的重要岗位
  3. 第19节 项目整体绩效评估.
  4. 流量银行与阿里联手放大招 1毛钱换1块钱
  5. volatile修饰变量
  6. JVM知识点总览:高级Java工程师面试必备
  7. 2022春节档新片预售总票房达1.08亿
  8. 辗转相除求最大公约数,最大公倍数
  9. 手机APP的常见功能测试用例
  10. 【3】CH347应用--USB TO JTAG进行FPGA调试下载
  11. 滚动交互引导界面的Ouroboros
  12. 大学一年级计算机组成语结构试题,一年级语文上册期末:词语类考题全面练习(汇总版)...
  13. 空气净化器哪个品牌口碑好 空气净化器除甲醛排行榜前十名
  14. 企业授权:SOA被低估的经济价值
  15. python谱聚类算法_Python机器学习高级算法!谱聚类(Spectal Clustering)算法分析和实例详解...
  16. 为什么有了IP地址还要有MAC地址??
  17. OLED显示STM32
  18. 利用临时二维码实现在电脑浏览器上的微信扫码登陆功能 - EasyWeChat版
  19. if语句和switch语句
  20. PyWifi破解Wifi密码试验

热门文章

  1. 续--Flask, Django - 区别
  2. 不同操作系统上DNS客户端操作区别汇总
  3. 前端页面-不可编辑控制
  4. MySQL高级特性之分区表
  5. 关于ppt中嵌入echarts图表
  6. 硬币找零问题,动态规划基础,百度面试题
  7. yum 安装mysql数据库
  8. jQuery全屏滚动插件fullPage.js
  9. Easyui中使用jquery或js动态添加元素时出现的样式失效的解决方法
  10. *[topcoder]IncrementingSequence