7

我不知道如何修复此代码。它在returnFirstString某处“​​爆炸”,但我不知道为什么。另外,我不知道如何使用println正确显示结果。这种方法可以吗。

所以这里是代码:

def returnFirstString(a: Array[String]): Option[String]=
{
    if(a.isEmpty) { None }
    Some(a(0))
}
val emptyArrayOfStrings = Array.empty[String]
println(returnFirstString(emptyArrayOfStrings))
4

2 回答 2

14

您没有正确返回无:

  def returnFirstString(a: Array[String]): Option[String] = {
    if (a.isEmpty) {
      None
    }
    else {
      Some(a(0))
    }
  }

此外,在大多数 scala 集合中已经有一种方法:

emptyArrayOfStrings.headOption
于 2013-02-25T19:14:47.950 回答
5

最简洁的方式:

def returnFirstString(a: Array[String]): Option[String]= a.headOption
于 2013-02-25T19:15:56.847 回答