Scala的Set()和Set.empty有什么区别?

Log*_*gan 0 scala set

Set()Set.emptyScala 和有什么不一样?

哪个更规范,哪个更高效?

g1n*_*ard 7

Set()实际上是Set.empty在后台进行调用,因此后者的性能要高出一小部分:

https://github.com/scala/scala/blob/2.12.x/​​src/library/scala/collection/generic/GenericCompanion.scala#L49

另外,Set.empty由于更好的可读性,您可能更喜欢。