繁体   English   中英

Getter 返回类型为 Optional

[英]Getter return type as Optional

我有以下困境。

我的应用程序正在使用返回 JSON 的外部 ReST 服务:

刊物

{
   "title" : "some title",
   "tag" : "some tag",
   "date" : some_date,
    ... (more)
}

我有 DTO 来映射这个:

public class PublicationDto {
    String title;
    String tag;
    Date date;
}

假设它是 lombok 注释并具有 getter 和 setter。 现在,日期可以是可选的。 它可以是 JSON,也可以不是。 所以在映射的 DTO 日期可以为空。

我的困境是,如果我应该稍后在处理PublicationDto的代码中进行空值检查,还是应该使用Optional做一些技巧。 例如,我可以覆盖PublicationDto getDate()方法以返回Optional<Date>

public Optional<Date> getDate();

在这种情况下,最佳做法是什么?

JSON Java 反序列化中没有最佳实践表明如果不使用Optional就会被绞死。 Java 不是 Scala。 这取决于您打算如何处理缺失值。 用空检查替换空检查不会给您带来任何好处,除非您可能会吹嘘自己正在编写更“现代”的代码。 但是,如果您要对日期执行进一步的操作,例如回退到默认值,并进一步格式化它以进行显示,那么使用Optional可用于进行功能类型链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM