В Scala есть 2 представления чисел двойной точности, одно - AnyVal
, другое AnyRef
. На JVM они отображаются на примитив double
и класс java.lang.Double
соответственно.
Что теперь происходит на платформах, отличных от JVM? Я могу использовать Scala.Double
для примитива, но как мне указать, что я хочу указывать ссылку в штучной упаковке Double без указания java.lang.Double
?
[Контекст - оставлено, чтобы понять смысл ответа Томаса, но не фундаментальный вопрос.
У меня есть Double, который я хочу добавить с помощью Spring в компонент Wicket:
class MyPanel(id: String) extends Panel(id) {
@SpringBean(name="rxAlarmLimitDb") var alarmLimitDb: Double = _
Если я укажу тип как scala.Double
, как указано выше, инжектор выйдет из строя, поскольку он может только вводить объекты.
Если я укажу java.lang.Double
в качестве типа поля, все будет хорошо
class MyPanel(id: String) extends Panel(id) {
@SpringBean(name="rxAlarmLimitDb") var alarmLimitDb: java.lang.Double = _
Но я пытаюсь уменьшить свою зависимость от использования Java API, так как я могу представить Double
в штучной упаковке без него?
]