Как Int конвертируется в BigDecimal? - PullRequest
1 голос
/ 02 июля 2019

Я не могу понять, как Scala преобразует Int в BigDecimal в Scala.

val a : BigDecimal = 1

В вышеприведенном выражении в идеале должна была быть ошибка компиляции, однако она компилируется нормально. Кто-нибудь может объяснить, как это происходит в Scala?

1 Ответ

4 голосов
/ 02 июля 2019

Ответ на этот вопрос заключается в объекте BigDecimal, который имеет неявный метод, который преобразует Int в BigDecimal.

Из исходного кода scala

object BigDecimal extends scala.AnyRef with scala.Serializable {
// all other methods
  implicit def int2bigDecimal(i : scala.Int) : scala.math.BigDecimal = { /* compiled code */ }

}

Пожалуйста, дайте мне знать, если это отвечает на ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...