Scala: почему Float.floatToIntBits (2f) не работает? - PullRequest
4 голосов
/ 22 августа 2010
scala> Float.floatToI

При нажатии на вкладку здесь отображается Float.floatToIntBits.Но,

scala> Float.floatToIntBits(2f)
<console>:6: error: value floatToIntBits is not a member of object Float
       Float.floatToIntBits(2f)
             ^

Ответы [ 2 ]

5 голосов
/ 22 августа 2010

Float.floatToIntBits пытается вызвать метод на объекте scala.runtime.Float (я думаю).

scala> Float
res2: Float.type = object scala.Float

Вам нужно java.lang.Float.floatToIntBits:

scala> java.lang.Float.floatToIntBits(2f)
res1: Int = 1073741824
4 голосов
/ 22 августа 2010

Завершение кода REPL показывает методы всех объектов Float, доступных на пути (т. Е. scala.Float scala.runtime.Float и java.lang.Float). Однако scala.Float scala.runtime.Float имеет приоритет над java.lang.Float и, следовательно, ошибкой.

Следующие работы:

scala> import java.lang.{Float => JFloat}
import java.lang.{Float=>JFloat}

scala> JFloat.floatToIntBits(2f)
res5: Int = 1073741824
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...