【发布时间】:2020-01-23 15:09:03
【问题描述】:
是否有可能以某种方式将可为空的类型传递给 Optional? 示例:
class X(
val x: Optional<Int?>
)
为什么?
我想通过以下方式序列化:
X(Optional.of(1)) -> {"x":1}
X(Optional.of(null)) -> {"x":null} // <- throws
X(Optional.empty()) -> {}
通知
我发现使用 double Optional 可以做我想做的事,像这样:
class X(
val x: Optional<Optional<String>>
)
但如果 Kotlin 可空类型有办法或知道为什么没有办法,那还是很有趣的。
【问题讨论】:
-
Optional.ofNullable -
Optional.of(null)会抛出 NPE -
Optional<Int>?应该这样做。即使我建议定义一些临时类来表达这种行为。
标签: java kotlin jackson optional nullable