• Scala隐式转换


     1 package big.data.analyse.scala
     2 
     3 import java.io.File
     4 
     5 import scala.io.Source
     6 
     7 /**
     8   * 隐式转换
     9   * Created by zhen on 2019/1/6.
    10   */
    11 class RichFile(val file:File){
    12   def read = Source.fromFile(file.getPath()).mkString
    13 }
    14 object Context{
    15   implicit def file2RichFile(file:File) = new RichFile(file)
    16 }
    17 object ImplicitConversion {
    18   def main(args: Array[String]) {
    19     //导入隐式转换
    20     import Context.file2RichFile
    21     println(new File("C:/Users/zhen/.spyder-py3/发布模块/setup.py").read)
    22   }
    23 }

    解析:

      一个从类型S到类型T的隐式转换由一个函数类型 S => T的隐式值来定义,或者由一个可转化成所需值的隐式方法来定义。

      隐式转换一般在下面两种情况下使用:

        1.如果表达式e的类型为S,并且类型S不符合表达式的期望类型T。

        2.在一个类型为S的实例对象e中调用e.show,如果被调用的show并没有在类型S中声明。

    结果:

  • 相关阅读:
    冲刺成果演示
    c#输入串字符不符
    课堂测试—数据清洗
    mapreduce实验
    问题纠错
    软件需求阅读笔记第一篇
    暑假第五周总结
    暑假第四周总结
    暑假第三周总结
    暑假第二周总结
  • 原文地址:https://www.cnblogs.com/yszd/p/10234813.html
Copyright © 2020-2023  润新知