开发者社区> 问答> 正文

scala中的隐式转换是什么?

scala中的隐式转换是什么?

展开
收起
芯在这 2021-12-11 22:51:23 334 0
1 条回答
写回答
取消 提交回答
  • 所谓的隐式转换函数(implicit conversion function)指的事那种以implicit关键字申明的带有单个参数的函数,这样的函数会被自动的应用,将值从一种类型转换为另一种类型

    比如:需要把整数n转换成分数n/1

    implicit def int2Fraction(n:Int) = Fraction(n,1)

    这样就可以做如下表达式求职:

    val result = 3 * Fraction(4,5)

    此时,隐士转换函数将整数3转换成一个Fraction对象,这个对象接着又被乘以Fraction(4,5)

    ​在scala语言中,隐式转换一般用于类型的隐式调用,亦或者是某个方法内的局部变量,想要让另一个方法进行直接调用,那么需要导入implicit关键字,进行隐式的转换操作,同时,在Spark Sql中,这种隐式转换大量的应用到了我们的DSL风格语法中,并且在Spark2.0版本以后,DataSet里面如果进行转换RDD或者DF的时候,那么都需要导入必要的隐式转换操作。

    2021-12-11 22:51:42
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JDK8新特性与生产-for“华东地区scala爱好者聚会” 立即下载
Just Enough Scala for Spark 立即下载
低代码开发师(初级)实战教程 立即下载