Dra*_*orn 3 scala intellij-idea
if (cubeNames.size > 0) {
//Do something
}
Run Code Online (Sandbox Code Playgroud)
Intellij建议将其替换为:
if (cubeNames.nonEmpty) {
//Do something
}
Run Code Online (Sandbox Code Playgroud)
现在函数nonEmpty定义为:
def nonEmpty: Boolean = !isEmpty
Run Code Online (Sandbox Code Playgroud)
哪个叫另一个功能!
这一切真的是必要的,实用性,高效吗?
.size
需要通过整个集合来确定它的大小,而.isEmpty
只需要找到一个要返回的元素false
.
对于小型集合来说,这可能并不重要(但你仍然应该这样做).但是,对于大量的收藏品,会有很大的不同.
更糟糕的是,如果集合是无限的(例如val s:Stream[Int] = 0 #:: s
),那么.size
将永远不会终止.isEmpty
.
归档时间: |
|
查看次数: |
283 次 |
最近记录: |