我正在学习 Scala 并且对下一个类型之间的差异感到有些困惑:“Null”、“Nil”和“Nothing”。
有人可以帮我解释一下区别吗?据我所知,“Nil”用于描述一个空列表。
Jan*_*ena 12
有 7 种情况您想在 Scala 中表示虚无的概念。
Nil- 用于表示空列表或零长度的集合。对于集合,您可以使用Set.empty
None- Optional 类型的两个子类之一,另一个是Some. Scala 集合很好地支持。
Unit- 相当于 Java 的void,用于没有返回类型的函数
Nothing- 一个特质。它是所有其他类型的子类型,但没有任何超类型。它就像一棵树的叶子。没有 Nothing 的实例。
Null- 一个特质。不推荐使用。
null- trait 的一个实例,与 Java 类似Null。不推荐使用。
有关最佳实践建议,请参阅https://alvinalexander.com/scala/scala-null-values-option-uninitialized-variables
小智 0
在scala中null确实很糟糕,你必须使用Optional[T].
我们有Nil一个空列表,可以1 :: Nil创建一个仅包含1.
并且,Nothing是每种类型的子类型。在另一个世界中,是一个代表着的物体null。
| 归档时间: |
|
| 查看次数: |
6616 次 |
| 最近记录: |