Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
scala列表。toArray无明显原因失败_Scala_Sbt_Playframework 2.4 - Fatal编程技术网

scala列表。toArray无明显原因失败

scala列表。toArray无明显原因失败,scala,sbt,playframework-2.4,Scala,Sbt,Playframework 2.4,我正在尝试在Play 2.4中创建Build.scala文件。对于Checkstyle部分,我查看了它是如何实现的,并发现: 但我得到一个错误,它说: 多态表达式无法实例化为预期类型 找到:[B>:字符串}数组[B]] 必需:字符串 PmdMain(参数toArray) 我在这里看到了答案: 但这实际上帮不了我。列表中的所有点都是字符串类型,因此我不知道这个错误是如何产生的 有人能解释发生了什么事吗 据我所知,游戏2.4使用sbt 0.13.8,游戏2.2使用0.13.0。我并不真正了解SBT

我正在尝试在Play 2.4中创建Build.scala文件。对于Checkstyle部分,我查看了它是如何实现的,并发现:

但我得到一个错误,它说:

多态表达式无法实例化为预期类型

找到:[B>:字符串}数组[B]]

必需:字符串

PmdMain(参数toArray)

我在这里看到了答案:

但这实际上帮不了我。
列表
中的所有点都是
字符串
类型,因此我不知道这个错误是如何产生的

有人能解释发生了什么事吗


据我所知,游戏2.4使用sbt 0.13.8,游戏2.2使用0.13.0。我并不真正了解SBT或Scala,因此我不知道这是否与它有关。

您调用的方法可能是一个。换句话说,它需要可变数量的参数。这些参数在Scala中称为重复参数,通常称为varags。例如,您可以调用:

PmdMain(arg1, arg2, arg3)
请注意这与
PmdMain(List(arg1,arg2,arg3))
有多个
String
类型的参数,后者有一个
List[String]
类型的参数。您遇到的错误表明列表中的第一个参数应该是
字符串
,但您提供了一个
数组[String]

如果要使用参数的实例化列表调用该方法,则必须使用特殊的序列参数表示法:

PmdMain(args: _*)
您可以阅读有关规范中重复参数和序列参数的更多信息

如果要在REPL中处理此问题,可以非常简单地重新创建错误:

def foo(args: String*) = ??? //The * indicates that args is variadic
foo("bar", "baz") //OK
foo(List("foo", "baz")) //Bad
foo(List("foo", "baz"):_*) //OK

谢谢你的回复。我根本无法控制PmdMain函数。有很多例子都使用了这条精确的路线,只有在第2.4场而不是第2.2场中尝试,我才发现这对我来说是个问题。我不知道为什么会这样,你有什么问题?你已经有了什么,你的目标是什么?我正试图构建一个字符串数组,传递给CheckStyle构造函数,就像你在命令行上一样。它与链接中显示的代码相同。