scala自定义隐式转换

Posted gxiaobai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala自定义隐式转换相关的知识,希望对你有一定的参考价值。

Scala自定义隐式转换

一、编写隐式转换类

/**
  * Author Mr. Guo
  * Create 2019/4/20 - 17:40
  */
object StringImprovments {

  implicit class StringImprove(s: String) {
    def increment = s.toString.map(c => (c + 1).toChar)
  }

  implicit class Intc(i: Int) {
    def xx = {
      Integer.parseInt(i.toString) + 4
    }
  }

  implicit class arrStrToArrInt(arr: Array[String]) {
    def toArrInt = {
      arr.map(arr => arr.toInt)
    }
  }

  implicit class arrStrToArrDouble(arr: Array[String]) {
    def toArrDouble: Array[Double] = {
      arr.map(ar => {
        try {
          ar.toDouble
        } catch {
          case x: Exception => 0.0
        }
      })
    }
  }
}

二、隐式函数的调用

/**
  * Author Mr. Guo
  * Create 2019/4/20 - 16:44
  */
object OperatorStr {

  def operatorStr() = {
    import unitlOne.StringImprovments._
    val str2 = "HCL"
    val int1 = 3
    val arrs = Array[String]("")
    println(str2.increment)
    println(int1.xx)
  }
}

  

以上是关于scala自定义隐式转换的主要内容,如果未能解决你的问题,请参考以下文章

Scala基础高阶函数隐式转换AKKA编程

scala 2.8 中从 String 到 Int 的隐式转换

scala学习笔记-隐式转换与隐式参数(18)

Scala隐式转换

Scala的隐式转换

Scala:从泛型类型到第二泛型类型的隐式转换