Карта Scala Option [String] превращается в Iterable - PullRequest
0 голосов
/ 09 сентября 2018

почему эта компиляция:

def foo() : Iterable[URI] = {
   Some("")
     .map(URI.create)
}

1 Ответ

0 голосов
/ 09 сентября 2018

Существует неявное преобразование , называемое option2Iterable, определенное непосредственно для Option, оно преобразует все Option[A] в Iterable[A] с нулем или одним элементом.

Ниже приведен фрагмент кода, который демонстрирует это несколько неожиданное поведение:

(Option(42): Iterable[Int])

Он тихо преобразует Option в List, в этом случае получается List(42).

...