scala总结(4) -- 隐式转换以及隐式参数

来源:互联网 发布:小程序导航系统源码 编辑:程序博客网 时间:2024/05/29 16:28
隐式转换:
implicit def intToString(i:Int) = i.toString  
implicit def可以对一种类型的参数自动做转换,在上面的隐式转换作用域中,所有Int 如果不符合编译要求,会先被转换为String
不可有多个隐式转换,如再加一个implicit def intToString2(i:Int) = i.toString + “2” 则编译报错
隐式参数:
def speakImplicitly (implicit greeting : String) = println(greeting)
when call speakImplicitly(“test”) 返回 “test”
call speakImplicity 寻找作用域中implicit val String xxx = “xxx”. 必须类型正确并且implicit。 如果没有或是有多于一个,报错。 常用于寻找pageContext类似的东西。
只能找val或def,也就是immutable的
0 0
原创粉丝点击