zoukankan      html  css  js  c++  java
  • 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中声明。

    结果:

  • 相关阅读:
    RWCString 定义 memeroy leak
    打开eclipse报错
    Eclipse 增加php插件
    Shell 字符串的截取
    【转载】Shell判断字符串包含关系的几种方法
    Shell $? $* $@ 等含义
    Shell 获取指定行的内容
    概念性进程
    网络编程
    模块详解
  • 原文地址:https://www.cnblogs.com/yszd/p/10234813.html
Copyright © 2011-2022 走看看