Оба существуют, например, здесь:
Map.empty[Int, Int]
Map(1 -> 41).empty
Set().empty
Set.empty
Но здесь существуют только методы класса:
List.empty //OK
List(1,2,3).empty //Doesn't exist
Array.empty //OK
Array("a").empty //Doesn't exist
Не является ли empty
идеальным случаем для метода класса (и не должен ли метод экземпляра empty
быть объявлен устаревшим)?
Или должен ли метод экземпляра empty
быть добавлен к классам, в которых он отсутствует?зрения, что затрудняет использование только empty
в качестве метода класса (например, вывод типа, типы с более высоким родом, ...).
PS: было предложено, чтобы Карты со значениями по умолчанию было сложнеедостичь без экземпляра метода empty
:
Map[Int, Int](1->2, 21->42).withDefault(_*2).empty
Что вы думаете?