1

出于某种原因,我有一个带有该方法的抽象类def apply(some : Some) : Any。其中一个子类特别返回一个部分应用的函数,如

 return twoArgumentFunction(_ : Int, 1)

但是apply的签名是Any。问题是如何将其转换为一个参数的函数?

def usingApply(){ var f = A.apply() ; f(4)}

我期待一些 asInstanceOf() 或类似的东西

4

1 回答 1

2

我认为您只是对asInstanceOf. 您在方括号(不是括号)中提供目标类型,就像任何其他泛型类型参数一样:

def usingApply(){ var f = A.apply().asInstanceOf[Int=>Int] ; f(4)}

这会将 apply 的结果转换为Int=>Int,这与Function1[Int,Int].

于 2013-10-09T05:52:27.827 回答