我想要返回一个名为Entry的case类,所以我无法更改函数的签名。当我填写我的case类并尝试返回它时,我收到以下错误:
<console>:13: error: type mismatch;
found : Entry(in method apply)
required: <empty>.Entry
我不确定该函数为什么要求该类型
def apply(line: String) : Entry = {
case class Entry(account:String, password:String, UID:Int, GID:Int,
GECOS:String, directory:String, shell:String)
val fields = line.split(":")
val x = Entry(fields(0), fields(1), fields(2).toInt, fields(3).toInt,
fields(4), fields(5), fields(6))
x
}
答案 0 :(得分:2)
这是一个猜测,但我相信Entry
在其他地方定义。我这样说是因为你在函数签名中引用了“Entry”类,但你也在函数体中定义了一个case类。您要返回的Entry
不是函数所期望的Entry
。