1 定義
通常我們所說的隱式函數也稱為 隱式轉換,是使用 implicit 修飾的函數
作用: 可以通過一個隱式函數將一種類型轉變為另一種類型
隱式轉換有兩種應用場景:
類型轉換,隱式轉換為期望類型
類型增強
2 示例
①:類型轉換
在java中,當我們申明一個變量a 為 Int 類型,賦值為 3.5 ,這時就會直接報錯,scala也一樣
但是在scala中定義一個隱式函數,函數體是將傳入的 Double 類型使用 toInt 方法轉為 Int 類型就可以解決這個問題
implicit def doubleToInt(obj:Double) = obj.toInt? ?
val a:Int = 3.5? ?
常用的類型轉換:
implicit def doubleToString (obj:Double):String=obj.toString
implicit def intToString(obj:Int):String=obj.toString
implicit def stringToInt(obj:String):Int=Integer.parseInt(obj)