scala列表。toArray无明显原因失败
我正在尝试在Play 2.4中创建Build.scala文件。对于Checkstyle部分,我查看了它是如何实现的,并发现: 但我得到一个错误,它说: 多态表达式无法实例化为预期类型 找到:[B>:字符串}数组[B]] 必需:字符串 PmdMain(参数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
列表
中的所有点都是字符串
类型,因此我不知道这个错误是如何产生的
有人能解释发生了什么事吗
据我所知,游戏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构造函数,就像你在命令行上一样。它与链接中显示的代码相同。