Guava记录 - using and avoiding nul

2019-10-09  本文已影响0人  一点温柔
在Guava中,提倡了一种fail fast on nulls的思想,因此在使用指南的首要内容就是关于它的解释,如下图:
image.png
这是为什么呢?

在Using and avoiding null具体的解释了相关信息:


image.png

大致意思是说不小心使用null会导致各种各样的错误。谷歌研究发现95%的集合中不应该有任何null值.并且null的歧义令人不快

因此在guava的工具类中很多都是不支持null值的,如果要支持null值,几乎不用使用guava中的工具。如guava集合包种的ImmutableList,测试代码:

public static void main(String[] args) {
        //test add null value
        ImmutableList immutableList = ImmutableList.of("a",null);
        System.out.println(immutableList);
    }

测试结果:


image.png
在guava中提供了Optional类来更加适应fail fast on nulls规则,而具体使用方法参考官方文档或者接下来的文章中的例子。
值得一提的是,在jdk8之后,java也提供了类似的Optional类,两者用法除了某些方法名不一致外,用法以及思想大致相同。当然,guava中的Optional实现了序列化,而java中没有.
上一篇下一篇

猜你喜欢

热点阅读