gia*_*olo 22 java scala optional scala-option
最后,本文介绍了新的Java 8 Optional,并指出
可选项并不像Scala中的Option [T]那么强大(但至少它不允许包装null).API不像null处理那么简单,可能要慢得多.但编译时检查的好处加上可选性的可读性和文档值始终大大优于劣势
我对Scala有一个非常基本的了解,并且我熟悉Java 8 Optional,所以初看起来,我不清楚两者之间有什么区别,如果有的话.
我知道,例如,在Scala中我可以使用模式匹配来测试Option并让我的生活更轻松.但是,排除Scala语法的特性,我想知道Option在Scala中是否可以用OptionalJava 做些什么.
希望这不是一个愚蠢的问题,但每当我读到"强大的"时,问号就会浮现在我的头上.
mik*_*łak 16
如果我们谈论的是与语法无关的差异,Tomasz Nurkiewicz几乎突出了他博客文章开头段落中最大的一个:
在Java 8中引入了Optional,因此很明显它不会在整个标准Java库中使用 - 并且永远不会出于向后兼容的原因.
(emph.我的 - 虽然我不会如此坚持"从不",鉴于新的default方法)
因此,Scala的最大区别和最大优势Option似乎只是它与语言API的紧密集成.
首先,当你开始使用Scala时,你很可能会在早期使用Scala时获得它的使用方式,特别是通过Scala Map#get.
反过来 - 如果你看看Scala的Option API,你会看到它被"拼接"到Scala的集合层次结构中,这意味着你可以在需要的时候透明地将它作为一个集合使用 - 例如,没有你的最终开发人员图书馆一直在处理它的特殊性.
| 归档时间: |
|
| 查看次数: |
4504 次 |
| 最近记录: |