对于我的API,我正在解析一个对象,并使用lombok构建器创建了我的对象。变量之一是LocalDateTime类型的“ arrivalTime”,当然可以为空。
我以前经常这样:
import xlwings
xlwings.App().visible = False
但是我正在寻找一种更好的方法,也许使用vavr选项?但是我遇到了问题。我了解,如果逻辑不为空,则将其放入“映射”逻辑;如果逻辑为空,则将其放入“获取”逻辑。但是我不能做(空)。如果到达时间为null,我想将其保留为null。
visits.add(visit.builder()
.arrivalTime(legacyVisit.getArrivalTime() == null ? null :
LocalDateTime.parse(legacyVisit.getArrivalTime(), ISO_OFFSET_DATE_TIME))
我还尝试将对象中的到达时间变量转换为Option,但我只是将对象作为响应发送到API中,它将其转换为如下形式:
visits.add(visit.builder()
.arrivalTime(Option.of(legacyVisit.getArrivalTime())
.map(p -> LocalDateTime.parse(p, ISO_OFFSET_DATE_TIME)))
这很丑。有任何想法吗?
答案 0 :(得分:1)
让arrivalTime
成为Option
似乎是最具表现力和功能的。您可以轻松地映射您提到的值。
但是如上所述,序列化可能需要一些工作。有一些Vavr模块可以做到这一点: