私は浮動小数点数(およびその点では整数)を整列化および非整列化するためにScalaでJAXBを使用する際に問題があります。私はこのような変数を持っている私のScalaのアプリでJAXBを使用したJava Floatではなく、Scalaオプション[Float]としてFloatをアンマーシャリングする方法は?
:
val taxPaid: Option[Float]
taxPaidが0.0f
に等しい場合、それは支払った一切の税金を意味しません。 taxPaidがNone
に等しい場合は、どれくらいの税金が支払われたかわからないことを意味します。
Option[Float]
のような変数は、SQL float NULL
列(私はSquerylを使用)に完全にマップされ、同様にJSONまたはXML内でうまく表現できます。私が持っている問題は、JAXBである - JAXBは、私はこのような、単純なJava Floats
を使用する必要があり、私のPOJO表現の中に、作業を取得する:JavaのFloat
はnull
の値を取ることができないので、
@XmlElement(nillable = true, `type` = classOf[Object])
@BeanProperty
var taxPaid: Float = _
そして、 0.0f
の値はnull
の(間違っていて損失の多い)プロキシとして扱われます。
私の質問は、Scala Option[Float]
にXMLの浮動小数点をマーシャリングしアンマーシャリングする方法がありますか?null
の意義を維持していますか?
java 'Float'は' null'の値を取ることができますが、 'float'プリミティブはできません。 –
ありがとうIngo - あなたのコメントは、この1つの正しい方向に私を指摘(下記参照) –