Ответ 1
Set.empty
- это множество; хотя вы не можете получить его непосредственно, оказывается, что это просто частный объект в объекте Set
сопутствующего объекта (называемый, очевидно, EmptySet
). Все, что делает Set.empty
, - это возврат, установленный с приведением в правильный тип.
Это делается таким образом, а не с Nil
, потому что множества инвариантны по своим параметрам. Nil
- List[Nothing]()
, но вы ничего не могли добавить к Set[Nothing]()
.
Если вам нужно указать тип вашего пустого набора, вы можете использовать, например. Set.empty[String]
.