视图的绑定从另一个角度看就是implicit的转换
主要用在两个场合
1.当一个T类型的变量t要装换成A类型时
2.当一个类型T的变量t无法拥有A类型的a方法或变量时
其实视图的绑定是为了更方便的使用隐式装换
如果我们不用视图绑定看看,这个表
def DigTest(a:Char)(implicit char2RichChar: Char => RichChar):Unit = {
println(a.isDigitt)
}
def main(args:Array[String]) = {
implicit def charWrapper(c:Char) = new RichChar(c)
DigTest('1')
}
如果用上视图就好多了
def DigTest[Char <% RichChar](a:Char):Unit = {
println(a.isDigitt)
}
def main(args:Array[String]) = {
implicit def charWrapper(c:Char) = new RichChar(c)
DigTest('1')
}