一、概述
- 其功效类似于SpringMVC中DataBind中调用的ConversionService(Converters)
- 最核心的任务是定义隐式转换函数(函数!!!函数!!!),即implicit conversion function
- 定义的隐式转换函数,只要在程序内引入,就会被Scala自动使用。
当程序中使用到隐式转换函数所接收的参数类型的对象时,Scala会自动将其传入隐式转换函数,转换为另一种类型的对象并返回 - 隐式转换函数叫什么名字是无所谓的,因为通常不会由用户手动调用,而是由Scala自动调用。但如果要使用隐式转换,则需要对隐式转换函数进行导入。因此通常建议将隐式转换函数命名为"xxx2yyy"的形式
二、如何进行隐式转换
- 要实现隐式转换,只要在程序可见范围内定义隐式转换函数即可
- 隐式转换函数于普通函数的唯一语法区别:以implicit开头,且必须声明函数的返回类型