一、隐式转换:编译器 偷偷地,自动地帮我们把一种数据类型转换为另一种类型例如:int--->double
它有失败的时候(double--->int),有成功的时候。
当它失败的时候,我们提供一个工具,让它能成功
明确地,把double转成int
package test38object test {
//复习隐式转换implicit def X(d:Double):Int={d.toInt}def main(args: Array[String]): Unit = {var i:Int=1var j:Double=2.1i=j //把Double转入Int
// j=i//把Int转入Doubleprintln(i)
}
}
练习一下:
所有的字符串都能调用isPhone方法,来校验自己是不是一个手机号
package test38
//需求
//完成一个功能,人所有的字符串都能调用isPhone方法,来校验自己是不是一个手机号
object test1 {//开始你的代码...class StrongString(val str:String){def isPhone():Boolean={val reg="1[3-9]\\d{9}".rreg.matches(str)}//验证是否身份证号def isID:Boolean={val reg="1[3-9]\\d{9}".rreg.matches(str)}}//定义一个特殊的转换函数,把str===>StrongString的对象implicit def xxxx(str:String):StrongString={
// println("偷偷调用implicit")new StrongString(str)}def main(args: Array[String]): Unit = {println("136a".isPhone())//==> false}
}