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中隐式转换的理解与应用
2025/2/25 8:43:46
来源:https://blog.csdn.net/2401_83374554/article/details/144415204
浏览:
次
关键词:在SCala中隐式转换的理解与应用
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com
热文排行
- 华为 海思22AP10(SS524)H.265 编解码处理器用户指南
- 数据库物理结构设计
- 如何在 Mac 上清空硬盘后恢复丢失的数据?
- npm install puppeteer 报错 npm ERR! PUPPETEER_DOWNLOAD_HOST is deprecated解决办法
- 基于重要抽样的主动学习不平衡分类方法ALIS
- 《缺失MRI模态下的脑肿瘤分割的潜在相关表示学习》| 文献速递-深度学习肿瘤自动分割
- 大模型分离架构学习记录
- (2)Django生产环境数据库的切换以及环境配置python-dotenv方案
- 【微信小程序】自定义组件 - 组件的生命周期
- vue项目——页面绑定回车Enter事件,进入页面路由和离开页面路由解绑事件——js技能提升