码迷,mamicode.com
首页 > 其他好文 > 详细

scala自定义隐式转换

时间:2019-05-20 22:52:39      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:rri   cal   unit   调用   except   cas   rem   todo   class   

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自定义隐式转换

标签:rri   cal   unit   调用   except   cas   rem   todo   class   

原文地址:https://www.cnblogs.com/Gxiaobai/p/10896454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!