首页 > 解决方案 > Scala检查对象是否是选项

问题描述

我想检查一个对象是否是一个选项。

例如:

val foo: Option[String] = Some("foo")
val bar: String = "bar"

我想要一种功能isOption

def isOption(value: Any): Boolean = {
     ???
}

结果将是:

isOption(foo) // true
isOption(bar) // false

标签: scalamonads

解决方案


您可以将函数编写为

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

推荐阅读