对于我的API,我解析一个对象,并用lombok构建器创建我的对象。其中一个变量是LocalDateTime类型的“arrivalTime”,当然,它可以是null。
我以前是这样的:
visits.add(visit.builder()
.arrivalTime(legacyVisit.getArrivalTime() == null ? null :
LocalDateTime.parse(legacyVisit.getArrivalTime(), ISO_OFFSET_DATE_TIME))
但我正在寻找一种更好的方法,也许使用vavr选项?但我遇到了麻烦。我明白,如果逻辑不是空的,我就把它放入“map”中,如果逻辑是空的,我就把逻辑放入“get”中。但我不能得到(空)。如果arrivalTime为null,我希望将其保持为null。
visits.add(visit.builder()
.arrivalTime(Option.of(legacyVisit.getArrivalTime())
.map(p -> LocalDateTime.parse(p, ISO_OFFSET_DATE_TIME)))
我还尝试将对象中的arrivalTime变量转换为选项,但我只是将对象作为API中的响应发送,它将其转换为如下所示:
"arrivalTime": {
"empty": true,
"lazy": false,
"singleValued": true,
"async": false,
"defined": false,
"orNull": null
},
这是非常丑陋的。有什么想法吗?
看起来将arrivaltime
作为选项
将是最具表现力和功能的。您可以像您提到的那样轻松地映射值。
但是如前所述,序列化可能需要一些工作。有一些Vavr模块正是这样做的:
Java 8 的对象函数式扩展,目标是减少代码行数,提高代码质量,提供了持久化集合、错误处理函数式抽象、模式匹配等等。 Vavr 融合了面向对象编程的强大功能,具有功能编程的优雅性和坚固性。 最有趣的部分是拥有功能丰富且持久的集合库,可以与 Java 的标准集合顺利集成。
如何以功能性方式使用vavr的“左”或“右”? 我有一个方法,它返回一个 到目前为止,我找到的最接近的解决方法是biMap()方法,它看起来像 可以说,映射函数应该用于映射而不是副作用,因此即使它有效,我也在寻找替代方案。
我正在使用Flatter desktop项目,我想检索一些双值,但当继续将某些字段作为空字段并尝试检索数据时,我遇到了一个错误,无法填充所有文本字段。如何将这些TextField检查为空字段并检索空值。 错误:-════════ 用手势捕捉异常═══════════════════════════════════════════ 处理手势时引发以下FormatException:无效的double
我有一个函数,当某些条件不满足时,它应该不返回任何内容(void)或字符串。 我也试过这句话。左(无效)
本文向大家介绍sitecore 空/空检查,包括了sitecore 空/空检查的使用技巧和注意事项,需要的朋友参考一下 示例 IsNotNull 这是一种非常简单且流行的方法,用于检查项目是否不为空。它只是检查传入的对象是否为空。 IsNotNullOrEmpty 这与上面的IsNotNull相同,但是适用于字符串值而不是对象。 一片空白 这只是该IsNotNull()方法的逆过程。此方法断言该对
每当我尝试注册并点击注册按钮时,我都会遇到这种类型的空值检查运算符的问题。我收到了这个错误消息 ══════ 异常捕获手势 ════════════════════ 在处理手势时引发了以下_CastError:对空值使用空检查运算符 当抛出异常时,这是堆栈 #0\u授权状态。建筑包装:gr_空间/屏幕/配置文件_屏幕。省道:244 #1(香港)地产_handleTap包装:颤振/材料/墨水井。省道