测者的测试技术手册:Java中的null类型是测试不可超越的鸿沟

栏目: 编程工具 · 发布时间: 7年前

内容简介:null是一个非常非常特殊的类型,对于每一个测试人员都要十分小心null的存在的可能性。同时null也让很多RD头疼,甚至连Java的设计者都成人null是一个设计失误。这篇文章,测者想聊聊这个让很多人不喜欢的null。在Java中有基本类型和引用类型,但是null却不属于上述两种,我们即不能声明一个变量为null类型,也不能将变量转换为null。null的引用是唯一一种null正确的表达方式。但是null却可以转换成任何一种引用类型。上面的代码在编译其中并不会报错。但是如果我们使用:

null是一个非常非常特殊的类型,对于每一个测试人员都要十分小心null的存在的可能性。同时null也让很多RD头疼,甚至连 Java 的设计者都成人null是一个设计失误。这篇文章,测者想聊聊这个让很多人不喜欢的null。

null 到底是怎样的存在

在Java中有基本类型和引用类型,但是null却不属于上述两种,我们即不能声明一个变量为null类型,也不能将变量转换为null。null的引用是唯一一种null正确的表达方式。但是null却可以转换成任何一种引用类型。

上面的代码在编译其中并不会报错。但是如果我们使用:

int int3 = null

那么就出出现问题。

null的一些细节注意点

null的装箱拆箱的细节

先说一个Java的概念:装箱和拆箱

上面的代码清洗的解释了装箱和拆箱的过程,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。

但是如果任何一个包装器类型在拆箱的时候都会包NPE异常(空指针异常)。

布尔运算

null很特别,但是可以而且仅可以做布尔运算。

null==null的结果是true,但是这里面特别注意:如果是两个null的引用变量那么首先要保证两个引入变量的类型完全一致。运算结果才会是true。

String类型转换

上面的代码的输出:nulss。String转换后的null可以进行字符串运算,这是因为字符串进行连接的时候,编译器对null进行了特别的优化。

null 不等于“”

null和“”不相等,这是因为“”会在内容中有一个

关注测者,关注测试

测者的测试技术手册:Java中的null类型是测试不可超越的鸿沟


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

BLOG启示录

BLOG启示录

胡嘉玺 / 清华大学出版社 / 2010-7 / 48.00元

《BLOG启示录:WordPress博客建设与经营》分三大部分,共17章。第一部分(1~5章)主要是介绍Web 2.0、博客,以及LAMP的安装和架设,更有完整的主机、域名、DNS、WordPress安装、申请、交费等步骤,读者即使对计算机、主机、网络、域名等知识完全不懂,也可以依照《BLOG启示录:WordPress博客建设与经营》的步骤来落实整个WordPress基础建设的架构及安装。 ......一起来看看 《BLOG启示录》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具