Nullable
(C#) 的含义有点不同,但无论如何Option
(斯卡拉)和Nullable
可以用来表达“有价值或无价值”的概念。
例如,当您想在字符串中查找子字符串时,最好返回 Option[Int](在 Scala 中,而不是晦涩难懂的 -1 作为 Int)(在 Scala 中,它是None
不求回报)。
标准Java中有这样的类吗?如果是,那是什么?
请注意,我不是问如何编写这样的课程。
Update
正如我所写,Nullable
有不同的意义。考虑一下:
想象一下Map[K,V],方法get的语义是如果有这个key就获取key的值,如果没有这个key就什么也不获取。
不能使用 null 有两个原因,不能使用任何具体类有一个原因。选项[V]是要走的路。
你问了两年多了,但是两个月前,Java SE 8 已经推出了java.util.Optional<T> http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html。有关介绍,请参阅这篇 Technet 文章:
厌倦了空指针异常?考虑使用 Java SE 8 的可选! http://www.oracle.com/technetwork/articles/java/java8-optional-2175753.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)