package Scala12_5//隐式转换的作用是什么?
//编译器自动滴,偷偷滴,把数据类型从A ——>B
//有可能会成功,也有可能失败
//implicit:隐式转换
object Scala12_05 {// def main(args: Array[String]): Unit = {//val i : Int = 1把Int类型,转成Double类型// val b:Double = i////// val d:Double = 1.2// val j:Int = d//// }// def getAge(): Double = {// 19.5// }//// def main(args: Array[String]): Unit = {implicit 隐式转换函数名字不重要重要的是,参数类型和返回值类型隐式函数:implicit修饰的函数特点:1 自动被调用 2 函数名字不重要,重要的是,参数类型和返回值类型// implicit def abs(d: Double): Int = {// d.toInt// }//// val i: Int = getAge()// println(i)// }// 隐式值// 函数的默认参数// 函数的默认值:小花// def sayName(implicit name: String = "小花"): Unit = {// println(s"我叫:$name")// }// // 需求:更改函数参数的默认值(不传入这个值的时候,用到的值),不要写死// // 步骤:// // 1.定义函数的默认参数时,添加implicit// // 2.需要修改这个默认值时,定义一个同类型的 隐式值: implicit修饰变量implicit val xx:String = "小明明"//// def main(args: Array[String]): Unit = {// sayName("小小")// sayName// sayName//// }//开始你的代码....implicit class StrongString(val str: String) {def isPhone(): Boolean = {val reg = "1[3-9]\\d{9}".rreg.matches(str)}//验证是否身份证号def isID: Boolean = {val reg = "".rreg.matches(str)}}// 定义一个特殊的转换函数,把str====》StrongString 的对象
// implicit def xxxx(str: String): StrongString = {
// new StrongString(str)
// }//
// def main(args: Array[String]): Unit = {
// val str:String = "13612345678"
// val str =
// println("136a".isPhone()) //==>False
// }
//}
在SCala中隐式转换的理解与应用
2026/3/20 22:54:12
来源:https://blog.csdn.net/2401_83374554/article/details/144415204
浏览:
次
关键词:在SCala中隐式转换的理解与应用
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com
