What's an easier/cleaner way to do this?
val o = Some(4)
if(o.isDefined) {o.get == 4} else { false }
I've tried
o.getOrElse(null) == 4
but that feels wrong, since in the isEmpty case, you end up testing null against the other side... which could itself be null. I need it to be if opt is defined && opt.get == whatever. I feel like some method on Option should just take a function, and I could do it like so:
o.test( (x) => x == 4 )
and it would apply the function only if o.isDefined.
This is the cleanest, most idiomatic way to do it.
val o = Some(4)
o.contains(4) // true
o.contains(5) // false
There is also a predicate version of this:
val o = Some(4)
o.exists(_ > 0) // true
o.exists(_ > 100) // false
Only use the predicate version if contains
is not strong enough.
How about this:
val o = Some(4)
o match {
case Some(4) => true
case _ => false
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With