码迷,mamicode.com
首页 > 其他好文 > 详细

scala中隐式转换之隐式值和隐式视图

时间:2017-12-07 21:13:50      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:bsp   created   编译器   种类型   object   create   作用   隐式转换   implicit   

/**
  * Created by root
  * Description : 隐式值和隐式视图
  */
object ImplicitTest {

  def main(args: Array[String]): Unit = {

    // 隐式值
    implicit val str = "hello"
    def fun(implicit s: String) = println(s)
    fun  // 调用fun函数,编译器发现参数缺省,直接去作用域内查找隐式值,保证隐式值只有一个

    // 隐式视图:隐式转换为目标类型:把一种类型自动转换到另一种类型
    implicit def intToString(a : Int) = a.toString
    implicit def intToByte(a : Int) = a.toByte
    def fun2(s: String) = println(s)
    fun2(100) //调用fun2函数,参数是个整数,编译器发现函数参数类型不一致,直接去作用域内查找符合编译通过的类型

  }

}

 

scala中隐式转换之隐式值和隐式视图

标签:bsp   created   编译器   种类型   object   create   作用   隐式转换   implicit   

原文地址:http://www.cnblogs.com/xubiao/p/8000359.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!