当前位置:  开发笔记 > 编程语言 > 正文

Scala Try的toOption方法返回Some(null)

如何解决《ScalaTry的toOption方法返回Some(null)》经验,为你挑选了1个好方法。

应该Success(转换的孩子)Some(null)在转换为时返回Option

例如, Try(null).toOption在scala 2.11.7中返回Some(null) Success的toOption方法,只需返回即可实现Some(value).如果try的基础值是?,None在转换Try为使用toOption方法的选项时,为什么不返回null



1> 小智..:

以下是toOptionScala 2.11.7 的来源:

def toOption: Option[T] = if (isSuccess) Some(get) else None

我同意布鲁诺的观点,这很令人困惑,应该读一下

def toOption: Option[T] = if (isSuccess) Option(get) else None


返回null会造成混淆。您的建议假定null与失败是无法区分的。仅使用toOption.filter(_!= null)会更容易,或者如果您经常这样做(也许是在处理Java API),则使其成为扩展方法。
推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有