【发布时间】:2016-11-09 15:58:19
【问题描述】:
我是 scala 的新手,只是创建了一些示例以更好地理解它。我似乎无法在这里解决这个问题——我在我的 java 程序中创建了一个字符串列表并在我的 scala 程序中使用这个列表。我从 java 类中读取列表的 scala 代码看起来像这样。
private val stringList : Seq[List] = x.getStringName //gets the list from my java program.
字符串列表包含
["How", "Are", "You"].
我正在尝试找到一种方法将这些字符串添加到名为 a、b 和 c 的值中,以便稍后将它们作为参数传递给另一个函数。
val values = stringList.flatMap{
case x if (!stringList.isEmpty) =>
val a = /*should get the first string How*/
val b = /*should get the second string Are*/
val c = /*should get the third string You*/
case _ => None
}
getCompleteString(a,b,c);
但这不起作用。我给我一个错误说
"type mismatch; found : Unit required: scala.collection.GenTraversableOnce[?]"
我不明白为什么会发生这种情况。有人可以告诉我我在这里做错了什么吗?
如果代码看起来很脏,我很抱歉,但我是初学者,仍在努力理解这门语言。任何帮助表示赞赏。提前谢谢你。
【问题讨论】:
-
您确定您的
stringList具有Seq[List]类型吗?不应该是List[String]或Seq[String]还是什么?您可以删除该类型并查看您的 IDE 告诉您有关该类型的内容。