Hi, thank you all for the asssistance.
It is odd, it works when creating a new java.mathBigDecimal object, but not if
I work directly with
scala> 5 match { case x: java.math.BigDecimal => 2 }
<console>:23: error: scrutinee is incompatible with pattern type;
found : java.math.BigDecimal
required: Int
5 match { case x: java.math.BigDecimal => 2 }
I will try and see how it works for my Seq[Any] and see. Thanks for the work
arounds.
Saif
From: Sujit Pal [mailto:[email protected]]
Sent: Tuesday, August 18, 2015 6:25 PM
To: Ellafi, Saif A.
Cc: [email protected]; user
Subject: Re: Scala: How to match a java object????
Hi Saif,
Would this work?
import scala.collection.JavaConversions._
new java.math.BigDecimal(5) match { case x: java.math.BigDecimal =>
x.doubleValue }
It gives me on the scala console.
res9: Double = 5.0
Assuming you had a stream of BigDecimals, you could just call map on it.
myBigDecimals.map(_.doubleValue)
to get your Seq of Doubles. You will need the JavaConversions._ import to allow
Java Doubles to be treated by Scala as Scala Doubles.
-sujit
On Tue, Aug 18, 2015 at 12:59 PM,
<[email protected]<mailto:[email protected]>> wrote:
Hi, thank you for further assistance
you can reproduce this by simply running
5 match { case java.math.BigDecimal => 2 }
In my personal case, I am applying a map acton to a Seq[Any], so the elements
inside are of type any, to which I need to apply a proper
.asInstanceOf[WhoYouShouldBe].
Saif
From: William Briggs [mailto:[email protected]<mailto:[email protected]>]
Sent: Tuesday, August 18, 2015 4:46 PM
To: Ellafi, Saif A.; [email protected]<mailto:[email protected]>
Subject: Re: Scala: How to match a java object????
Could you share your pattern matching expression that is failing?
On Tue, Aug 18, 2015, 3:38 PM
<[email protected]<mailto:[email protected]>> wrote:
Hi all,
I am trying to run a spark job, in which I receive java.math.BigDecimal
objects, instead of the scala equivalents, and I am trying to convert them into
Doubles.
If I try to match-case this object class, I get: “error: object
java.math.BigDecimal is not a value”
How could I get around matching java objects? I would like to avoid a multiple
try-catch on ClassCastExceptions for all my checks.
Thank you,
Saif