我有以下案例课。
case class CustomAttributeInfo[T,Y](
attribute:MyAttribute[_],fieldName:String,valueParser:T => Y){}
case类采用三个值。
最后一个参数是一个函数,它将解析任何类型的输入并返回我们希望保留的输入部分。
(想象一下,仅举一个例子,我传入一个jsonstring,转换为json对象,然后提取一个Int)。
伴随对象将提供我们可以传递给case类的一系列功能。此处显示的那个只是将输入作为字符串,然后将其作为字符串返回(最简单的示例)。
object CustomAttributeInfo {
val simpleString = (s:String) => s
}
我按如下方式创建案例类:
CustomAttributeInfo(MyAttribute(var1,var2),name,CustomAttributeInfo.simpleString)
稍后,我将函数称为“ valueParser”
customAttributeInfo.valueParser(k)
编译错误
错误:(366,69)类型不匹配; 找到:k.type(具有基础类型String) 所需的:_ $ 13 case Some(info)=> Some((info.attribute,info.valueParser(k)))
(显然)我不是泛型专家。我已经阅读了一些书,但是没有看到关于这种情况的讨论。任何建议和解释都将受到欢迎