在java中null的作用_在java中避免使用!= null有什么好处?
使用空集合或“空白”操作而不是null的主要优点是,大多数情况下,此类对象仍然可以在代码中工作而无需进一步修改.从本质上来说,空值更容易出错.
请使用以下代码,例如:
String[] names = data.getNames();
if (names != null) {
for (String name : names) {
// Do stuff
}
}
需要检查空值,否则您将获得NPE.使用标准for循环不能解决问题.另一方面,如果你知道你将总是得到某种类型的数组,你的代码将正常工作,无需额外的检查.如果数组为空,则循环将不会运行.问题解决了.
对于实现某种形式的操作的代码也是如此.另一个例子:
Action myAction = data.getActionToRun();
if (myAction != null) {
myAction.run();
}
再一次,你需要一个空检查.如果保证操作存在,那么你总是可以调用action.run()而没有任何副作用,但空白操作不会做任何事情.就这么简单.
在许多情况下,如果修改方法返回的方式,则可以简单地丢弃空检查,从而导致更简单易懂的代码.在某些情况下,返回null是正确的选择(例如,从键和值的集合中获取对象),因为没有默认的“无动作”值.但是null表示根本没有值,并且它需要额外的处理作为接收器.使用空白,无动作,非空对象允许数据对象处理错误.这是很好的封装.这是很好的编程.它只是有效.™
最后,返回null肯定不是处理错误的好方法.如果您的代码出现问题,除非您作为程序员犯了编程错误,否则应该永远不会出错,请使用断言或异常.那些都是失败的.不要将null用作失败案例,将其用作简单的缺少值.
在java中null的作用_在java中避免使用!= null有什么好处?相关推荐
- java中捕获异常的作用_在Java中捕获通用异常?
您可以传递Class对象并以编程方式检查. public static void checkForException(String message, Class exceptionType, Expe ...
- python中main的作用_浅析python 中__name__ = '__main__' 的作用
很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = ...
- python函数中self的作用_在Python中self的用途是什么?
如果您使用的是Python,那么"自我"一词是无法逃避的.它用于方法定义和变量初始化中.每次定义方法时,都会显式使用self方法.在本文中,我们将按以下顺序深入了解Python的自 ...
- python中config方法作用_使用Python中的config配置
Python中有ConfigParser类,可以很方便的从配置文件中读取数据(如DB的配置,路径的配置),所以可以自己写一个函数,实现读取config配置. config文件的写法比较简单,[sect ...
- 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目
王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...
- python中syntaxerror什么意思_在Python中,“SyntaxError:调用'print'时缺少括号”是什么意思?...
此错误消息表示您尝试使用Python 3来关注示例或运行使用Python 2 print 语句的程序: 打印"你好,世界!" 上面的语句在Python 3中不起作用 . 在Pyth ...
- distinct返回null报错_在Java中如何避免“!=null”式的判空语句?
问题描述: 我整天都是在跟Java打交道.我在Java开发中最常用的一段代码就是用object != null在使用对象之前判断是否为空.这么做是为了避免NullPointerException.但是 ...
- Java main方法_解释Java中的main方法,及其作用_一个java文件中可包含多个main方法
public static void main(String[] args) {} 或者 public static void main(String args[]) {} main方法是我们学习Ja ...
- 中去掉外键_【Java笔记】035天,MySQL中的增删改查
学习Java的第35天. 今天天除了学习MySQL中的各种约束,MySQL中DML的操作,还有MySQL查询语句ds-- MySQLdz中d的约束有: • 非空约束(not null) • 唯一性约束 ...
最新文章
- Java网络编程从入门到精通(4):DNS缓存
- linux 僵尸进程 defunct
- php变量名当文件命_php基础教程 第二步 通俗易懂的学习变量、常量与数据类型...
- 简单记录一下使用python pyppeteer爬取努努书坊的爬虫
- openSAP中国新平台的介绍
- java视频教程不同阶段看哪些
- 慕了!网传腾讯《英雄联盟》项目组年终奖每人120万!
- IPhone之NSXMLParser的使用
- ListView的Item点击事件(消息传递)
- Mysql复合索引的顺序和必要值
- 算法学习(十九)——A3C
- 无刷直流电机换相原理
- Chromium内核浏览器编译记(二)UI定制
- SA-Siam:用于实时目标跟踪的双重连体网络A Twofold Siamese Network for Real-Time Object Tracking
- 2022.1.20-笔记-JSON格式转换(JSON类型str->int\double\string)
- 计算机程序结构和解释,SICP 计算机程序的构造和解释
- 牛客网练习赛34-A题
- 自动驾驶大规模路面图像分类数据集
- 网络变压器没有用到的脚
- 解决mybatis不加@Parm注解报错问题