欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 手游 > 在SCala中隐式转换的理解与应用

在SCala中隐式转换的理解与应用

2025/2/25 8:43:46 来源:https://blog.csdn.net/2401_83374554/article/details/144415204  浏览:    关键词:在SCala中隐式转换的理解与应用
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
//  }
//}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词