在 Scala 中,双精度数有 2 种表示形式,一种是AnyVal
,另一种是AnyRef
。在 JVM 上,它们分别映射到原语double
和类java.lang.Double
。
现在在 JVM 以外的平台上会发生什么?我可以使用Scala.Double
原语,但我如何指定我想要引用装箱的 Double 而不指定java.lang.Double
?
[上下文 - 留下来理解 Thomasz 的回答,但不是根本问题。
我有一个 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
呢?]