在Java中检查不为空
发布时间:2020-12-14 16:34:09 所属栏目:Java 来源:网络整理
导读:想象一下,我在 Java中生成了XML生成的实体,它包含了我需要的一些数据. 例如: Car Engine Power 175 /Power /Engine/Car 因此,如果我需要一个引擎电源,那么接下来是商业软件开发的最佳实践,我将做下一件事: Car car = dao.getCar()Power power = car != nul
想象一下,我在
Java中生成了XML生成的实体,它包含了我需要的一些数据.
例如: <Car> <Engine> <Power> 175 </Power> </Engine> </Car> 因此,如果我需要一个引擎电源,那么接下来是商业软件开发的最佳实践,我将做下一件事: Car car = dao.getCar() Power power = car != null && car.engine != null ? power : null return power 我讨厌这个.有时似乎有一半的代码只是空检查. 有任何想法吗? 解决方法
看看
Java 8 Optional class.
它确实如此:它避免了对null的丑陋检查. 在您的情况下,您可以使用此代码段来避免它们: Car car = dao.getCar(); Optional<Car> optionalCar = Optional.ofNullable(car); Optional<Power> optionalPower = getPowerIfPresent(optionalCar); Power power = Optional.empty(); if(optionalPower.isPresent()) { power = optionalPower.get(); } 在写完一个能够返回给定汽车动力的功能之后: public static Optional<Power> getPowerIfPresent(Optional<Car> car) { return car .flatMap(c -> c.getEngine()) .map(e -> e.getPower()); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |