我刚开始学习Scala,我很困惑与泛型:斯卡拉:通用方法合成
问题1:
def getRemainingItem[X](list : List[X], fun : (X) => Boolean) : List[X] = {
list.filterNot(fun)
}
什么是X这里看起来像Java的E(此代码正常工作)
问题2:
def getRemainingItem(list : List[Any], fun : (Any) => Boolean) : List[Any] = {
list.filterNot(fun)
}
为什么任何不工作。我想任何可以接受任何类型的(这不是编译)
问题3:
def getRemainingItem(list : List[_], fun : (_) => Boolean) : List[_] = {
list.filterNot(fun)
}
同样,这不是工作,是什么“_”之间的区别“任何”
'什么是X这里看起来像Java的E(此代码工作正常)''什么E'? – pedrofurla
'2'编译得很好。 – pedrofurla
时间参数位置中的下划线表示未知的时间。所以,'List [_]'和'(_)=> Boolean','_'s是未知的,因此不一定是相同的。 – pedrofurla