Scala 检查对象是否是选项
Scala check if object is an Option or not
我想检查一个对象是否是一个选项。
例如:
val foo: Option[String] = Some("foo")
val bar: String = "bar"
我想要一个函数 isOption
:
def isOption(value: Any): Boolean = {
???
}
结果将是:
isOption(foo) // true
isOption(bar) // false
你可以把你的函数写成
def isOption(value: Any): Boolean = {
value match {
case x : Option[_] => true
case _ => false
}
}
关于调用函数
val foo: Option[String] = Some("foo")
val bar: String = "bar"
你会得到一个输出
res0: Boolean = true
res1: Boolean = false
一个简短的解决方案是
value.isInstanceOf[Option[_]]
这也不会混淆这样一个事实,即您基本上没有类型化 Any
值和 instanceof
在您的代码中飞来飞去,如果可能的话,应该避免这种情况。
我想检查一个对象是否是一个选项。
例如:
val foo: Option[String] = Some("foo")
val bar: String = "bar"
我想要一个函数 isOption
:
def isOption(value: Any): Boolean = {
???
}
结果将是:
isOption(foo) // true
isOption(bar) // false
你可以把你的函数写成
def isOption(value: Any): Boolean = {
value match {
case x : Option[_] => true
case _ => false
}
}
关于调用函数
val foo: Option[String] = Some("foo")
val bar: String = "bar"
你会得到一个输出
res0: Boolean = true
res1: Boolean = false
一个简短的解决方案是
value.isInstanceOf[Option[_]]
这也不会混淆这样一个事实,即您基本上没有类型化 Any
值和 instanceof
在您的代码中飞来飞去,如果可能的话,应该避免这种情况。