gpt4 book ai didi

string - 如何在 Scala 中简洁地用默认字符串替换空字符串(或 null)

转载 作者:行者123 更新时间:2023-12-03 15:11:51 24 4
gpt4 key购买 nike

我有一个返回字符串的方法。我想用默认值替换它,例如 "<empty>"如果它返回一个空字符串或 null .让我们假设它的名字是 getSomeString ,这是一个昂贵的操作,所以我只能调用它一次,而且我不能将它的返回类型更改为 Option[String] .现在,我正在执行以下操作:

val myStr = {
val s = getSomeString
if (s == null || s.isEmpty) "<empty>" else s
}

有没有更简单的方法来实现同样的目标?

最佳答案

val myStr = Option(getSomeString).filterNot(_.isEmpty).getOrElse("<empty>")

更新

我发布此代码是因为我认为此代码的意图比 if/else 或模式匹配版本更清楚,但我没有考虑性能问题。

正如评论中的其他人所提到的,此代码比简单的 if/else 或模式匹配慢得多(此行将创建很多新对象,这是一项昂贵的操作),因此请不要在性能有问题时使用此代码。

关于string - 如何在 Scala 中简洁地用默认字符串替换空字符串(或 null),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18417321/

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