在下面的代码中,过滤器代码被提取到本地 val :
val filterFunc = (x:VO) => x.getVal().equalsIgnoreCase("45")
然后我可以将它传递给过滤器函数,如下所示:
.filter(filterFunc)
但是如果 .filter 函数在一个方法中并且过滤器是在方法之外定义的,我需要这样的东西:
def myMethod(p: A => Boolean) = {
.filter(p)
}
p: A => Boolean
是方法的方法签名的一部分.filter
。上面的代码无法编译,因为类型 A 未设置。如何更新代码以使方法myMethod
接受过滤器定义作为其参数之一,然后在.filter
方法中运行此代码?
编辑 :
当我做出改变时:
def myMethod[A](p: A => Boolean) = {
.filter(p)
}
我在线收到错误.filter(p)
:
错误是:
type mismatch; found : A => Boolean required: VO => Boolean