gpt4 book ai didi

scala - 模式匹配以检查字符串是否为null或为空

转载 作者:行者123 更新时间:2023-12-03 21:06:25 25 4
gpt4 key购买 nike

是否可以使用match检查string是否为null或为空?

我正在尝试做类似的事情:

def sendToYahoo(message:Email) ={
val clientConfiguration = new ClientService().getClientConfiguration()
val messageId : Seq[Char] = message.identifier
messageId match {
case messageId.isEmpty => validate()
case !messageId.isEmpty => //blabla
}
}

但是我有一个编译错误。

预先感谢。

最佳答案

您可以编写一个简单的函数,例如:

def isEmpty(x: String) = Option(x).forall(_.isEmpty)

要么
def isEmpty(x: String) = x == null || x.isEmpty

如果您还认为 " "也为空,则可能还需要修剪字符串。
def isEmpty(x: String) = x == null || x.trim.isEmpty

然后用它
val messageId = message.identifier
messageId match {
case id if isEmpty(id) => validate()
case id => // blabla
}

或没有 match
if (isEmpty(messageId)) {
validate()
} else {
// blabla
}

甚至
object EmptyString {
def unapply(s: String): Option[String] =
if (s == null || s.trim.isEmpty) Some(s) else None
}

message.identifier match {
case EmptyString(s) => validate()
case _ => // blabla
}

关于scala - 模式匹配以检查字符串是否为null或为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27941585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com