14.scala隐式转换

目录

概述

隐式转换:偷偷的(隐式)对现有功能进行增强(转换)

实践

代码

scala 复制代码
package com.fun.scala

import java.io.File
import scala.io.Source

object ImplicitApp {
  def main(args: Array[String]): Unit = {

    // implicit 2 = to 等价  :定义隐式转换函数
    // implicit def a2B(a:A):B =new B(a.)
    implicit def man2SuperMan(man: Man): SuperMan = new SuperMan(man.name)

    val man = new Man("测试")
    man.fly()

    implicit def file2RichFile(file: File) = new RichFile(file)

    val file = new File("data/wc.data")
    println(file.read())
  }
}

class Man(val name: String)


class SuperMan(val name: String) {
  def fly(): Unit = {
    println(s"$name fly ...")
  }
}

/**
 * 隐式转换 常用命名:RichXxx
 */
class RichFile(val file: File) {
  def read() = Source.fromFile(file.getPath, "utf-8").mkString
}

执行结果

结束

scala隐式转换 至此结束。

相关推荐
顧棟4 小时前
JAVA、SCALA 与尾递归
java·开发语言·scala
深兰科技5 小时前
坦桑尼亚与新加坡代表团到访深兰科技,促进AI在多领域的应用落地
java·人工智能·typescript·scala·perl·ai大模型·深兰科技
a程序小傲1 天前
scala中的Array
开发语言·后端·scala
kk哥88991 天前
scala 介绍
开发语言·后端·scala
17312 天前
scala中的Array
scala
满山狗尾草3 天前
map的常规操作
scala
渣渣盟4 天前
Flink实时数据写入Redis实战
大数据·scala·apache
pale_moonlight4 天前
十、Scala应用实践(下)
linux·开发语言·scala
云岫1155 天前
高贵的hasNext带着“迭代器”袭击你的大脑
scala
卓码软件测评7 天前
第三方软件测试评测机构:【基于Scala DSL的Gatling脚本开发:从零开始构建首个负载测试模型】
后端·测试工具·测试用例·scala·负载均衡·压力测试