lai*_*lly 3 parameters scala manifest
trait PublicApi{
def sayHi(from:String,content:String)
}
Run Code Online (Sandbox Code Playgroud)
我知道在java中不可能在运行时获取"from"和"content",但scala manifest可以帮助我吗?喜欢定义
trait PublicApi{
def sayHi(from:String,content:String)(m:Manifest)
}
Run Code Online (Sandbox Code Playgroud)
调用m.methodErasure.getArgumentName(0)将返回"from"
在它当前的实现中,ClassManifest所有关于类型的具体化,并且对参数名称一无所知.
除非你:
,正如paranamer所做的那样(如评论中的Monkey提及),你将不会有任何关于参数名称的信息(至少在Java 8.0之前没有,即使它最初是为Java6提到的!:提案仍在进行中)