Scala
package test38
object test {
//复习隐式转换
//隐式转换:编译器 偷偷的,自动的帮我们把一种数据类型转换为另一种类型
// 例如 int-->double
//他有失败的时候(double-->int),有成功的时候
//明确的 把double 转成 int
implicit def X(d:Double):Int={
println("implicit X 被调用了")
d.toInt
}
def main(args: Array[String]): Unit = {
var i:Int=1
var j:Double=2.1
i=j//把Double转入Int
// j=i//把Int转入Double
println(i)
}
}
应用场景
Scala
package test38
//需求
//完成一个功能,让所有字符串都能调用isPhone 方法,来校验自己是不是一个手机号
object test1 {
class StrongString(val str:String){
def isPhone(): Boolean = {
val reg = "1[3-9]\\d{9}".r
reg.matches(str)
}
}
implicit def tranfrom(str: String):StrongString={
new StrongString(str)
}
def main(args: Array[String]): Unit = {
val str="13612345678"
// println(isPhone(str))
// println(isPhone("abc"))
// println(new StrongString(str)).isPhone())
println(tranfrom(str="abc").isPhone())
println(str.isPhone())
println("136a".isPhone())
}
}
验证身份证号
Scala
package test38
//需求
//完成一个功能,让所有字符串都能调用isPhone 方法,来校验自己是不是一个手机号
object test1 {
class StrongString(val str:String){
def isPhone(): Boolean = {
val reg = "1[3-9]\\d{9}".r
reg.matches(str)
}
//验证是否身份证号
def isID:Boolean={
val reg="".r
reg.matches(str)
}
}
implicit def tranfrom(str: String):StrongString={
new StrongString(str)
}
def main(args: Array[String]): Unit = {
val str="13612345678"
// println(isPhone(str))
// println(isPhone("abc"))
// println(new StrongString(str)).isPhone())
println(tranfrom(str="abc").isPhone())
println(str.isPhone())
println("136a".isPhone())
}
}