通俗理解,scala隱式,示例

2021-09-26 15:19:47 字數 884 閱讀 1275

1.隱式引數

相當於預設引數

2.隱式轉換

如果引數、變數、屬性的型別不對,則會按隱式轉換方法轉換成正確的型別

3.隱式類

x沒有某一方法,則把x轉換成隱式類,而隱式類剛好有這個方法,則呼叫隱式類的方法

示例如下:

object implicitdemo 

def b(param1: string)(implicit param2: string): unit =

// 隱式轉換(型別預設轉換)

def display(input:string):unit = println(input)

def xx(i: string):unit =

implicit def typeconvertor(input:int):string = input.tostring

implicit def typeconvertor(input:boolean):string = if(input) "true" else "false"

implicit def typeconvertor(input:double):string = input.tostring

// implicit def booleantypeconvertor(input:boolean):string = if(input) "true" else "false"

// 隱式類(預設類)

scala 隱式轉換

defdisplay input string unit println input implicit deftypeconvertor input int string input.tostring implicit deftypeconvertor input boolean string if...

scala 隱式轉換

隱式轉換就是 當scala編譯器進行型別匹配時,如果找不到合適的候選,那麼隱式轉化提供了另外一種途徑來告訴編譯器如何將當前的型別轉換成預期型別。使用方式 將方法或變數標記為implicit 將方法的引數列表標記為implicit 將類標記為implicit 宣告乙個帶有implicit修飾過引數的方...

scala隱式轉換

目錄 隱式轉換的概念 隱式轉換的使用 隱式轉換做引數型別轉換 隱式轉換增強現有型別 隱式引數 利用隱式引數進行隱式轉換 再議context bounds 隱式轉換函式 implicit conversion function 是以implicit關鍵字宣告的帶有單個引數的函式,這樣的函式將被自動應用...