当前位置: 首页 > 知识库问答 >
问题:

返回可选的而不是只返回一个空的map[duplicate]的真正好处是什么

许沛
2023-03-14

如果我的代码返回map ,但可以为空。转换它以返回可选的 > 是否有好处。它是否会为空而不是空的实例增加任何好处?

共有1个答案

万俟光临
2023-03-14

就像计算机编程中的许多科目一样,它依赖于(tm)。

我使用optional的方式是作为null的替代(简而言之)。它的一个优点是,它迫使调用方考虑可能没有返回值,并且这是一个有效的条件...请考虑上面链接的答案中的引用:

没有一个值是一个比空更精确的公式

请注意,在上面的某些情况下,您可能希望抛出异常,而不是返回无效的optional。这是您作为API设计师的决定。

 类似资料:
  • 问题内容: 使用JQuery或任何其他类似框架从自定义URL / Web服务中加载HTML内容非常容易。到目前为止,我已经使用了很多次这种方法,并且发现性能令人满意。 但是所有书籍,所有专家都试图让我使用JSON而不是生成的HTML。它比HTML优越得多吗? 它快很多吗? 它在服务器上的负载是否要小得多? 另一方面,我有一些使用生成的HTML的原因。 它是简单的标记,通常与JSON一样紧凑或实际上

  • 问题内容: 据我所知,使用或实例化对象分别返回或的新实例。具有 新标识 的新实例对象。 在我实际测试它之前,这对我来说是很清楚的,我注意到它实际上返回了而不是预期的: 如预期的那样,分别使用和创建对象时,也会表现出这种行为: 我可以在状态文档中找到唯一相关的信息: […]例如,return和return 。 如果未提供任何参数,则构造函数将创建一个新的空元组。 可以说,这不足以回答我的问题。 那么

  • 有人能帮我处理下面的代码吗?我想要一个使用函数的等价物。 只是一个音符我试过这个,但它不工作 不起作用的是-当值存在并且返回可选值时。empty()我希望原始函数返回null。它现在正在返回“随机”。 我的假设是,由于方法返回,它被替换。 请注意,原始代码是由其他人编写的。由于它有很多依赖关系,我无法更改输入/输出参数。:(

  • 我有一个使用Spring数据的方法,JPA的findById()方法应该返回一个可选的。但是,如果指定的id找不到实体,它将返回null而不是空的可选项。 调试时,我发现op的值为null。这是一段失败的代码。我使用的是Spring数据JPA 2.0.8。释放。请帮忙

  • 我试图让2支球队互相比赛。当我说团队1.玩(团队2)时,我称之为;当 i 生成的数字小于 0.5 时,team2 应获胜,如果大于 0.5,则团队 1 应获胜。当团队 1 获胜时,它会正确显示为尼克斯,但当团队 2 获胜时,它会显示内存地址。我怎么能让它正确地说网是赢的,而不是team@78987neu73

  • 函数应该从get请求返回一个 在这种情况下,我只能在为真时执行请求,否则我在函数