scala学习高级篇一
2017-12-08 15:15
246 查看
1、implicit
解释:隐式转换,可以改变方法的入参类型而不改变方法,举例说明如下:用法一:
def test(str: String): Int = { 12 }
例如如上的方法,调用的时候,入参必须是string类型,否则就报错
println(test("12"))//1 println(test(1))//2 println(test(true))//3
调用1可以,调用2,3会报错,但是用了隐式转换,即可,引用方法如下
//隐式转换 implicit def newtest(in: Int): String = in.toString implicit def neww(flag: Boolean): String = if (flag) "true" else "false"
用法二:
object Demo9 { object Context { implicit val ccc: String = "implicit" implicit val ddd: String = "implicit1" } object Param { def pr(str: String)(implicit pre: String) { println(str + ":" + pre) } } def main(args: Array[String]): Unit = { Param.pr("wzq")("18") Param.pr("wzq")(18) Param.pr("wzq")(true) import Context.ddd Param.pr("wzq") // 上面两行等价于这一行 // Param.pr("wzq")(Context.ddd) }
输出如下:
wzq:18 wzq:18 wzq:true wzq:implicit1
相关文章推荐
- scala学习高级篇一
- scala学习高级篇一
- scala学习高级篇一
- scala学习高级篇一
- scala学习七:scala的高级特性
- scala学习高级篇一
- scala学习高级篇一
- scala学习:模式匹配高级实战:嵌套的Case class
- scala学习高级篇一
- Scala学习第九弹 高级for循环和for推导式
- 大数据之scala高级语法学习
- scala学习高级篇一
- 模式匹配高级实战:嵌套的Case class之Scala学习笔记-21
- scala学习高级篇一
- scala学习高级篇一
- 学习笔记—scala高级编程
- scala学习笔记(高级特性1)
- scala学习高级篇一
- scala学习高级篇一
- scala学习高级篇一