例如,以下代码获取深度属性值:
这种场面比较常见,但深深嵌套的if判断增加了代码读者的压力。
Of []方法
Empty []方法
这两个代码除了符号不同外,代码可读性没有根本区别!
Get []方法
OrElse方法
没有值时返回指定的值。
与上面相同,但参数成为LAMDA函数,提供获取指定值所需成本的场景中使用的默认值,如下所示:
没有值时,将抛出指定的异常,如下所示:
Filter方法
地图方法
基于函数的处理值
导入多级属性
但是,如果调用方在大多数情况下不期望为null,则必须实施返回值或返回异常的方法,如下所示:
后期处理代码不能依靠订单数据获得订单数据,代码也不能下降,所以大多数情况下最好选择使用方法。也就是说,可以避免NPE,避免加重编码负担!(威廉莎士比亚,《Northern Exposure》,Northern Exposure
这与Java中检查的异常相同,调用方需要处理异常,但调用方可以处理的场景有多少异常?这使得开发者经常滥用catch,处理异常,最终发现catch后面有一些不应该执行的代码。
发表评论