您的位置:首页 > 其它

scala implicit隐式转换

2015-02-27 11:25 501 查看
object ScalaDemo extends App {

case class Water(temp: Int)

case class Ice(temp: Int)

implicit def waterToIce(water: Water): Ice = Ice(water.temp)

def getTemp(ice: Ice) = ice.temp

val water = Water(25)

println(getTemp(water))
}


getTemp需要的是一个Ice实例,但是我们传的是一个Water实例,会自动调用implicit声明的waterToIce方法,将water转换为ice.如果没有这个定义的话,getTemp(water)将编译不通过.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: