scala隱式轉換

2021-10-10 19:26:42 字數 1294 閱讀 2353

隱式轉換可以把一種type轉換為另一種type

case

class centimeters(value:

double

)extends

anyval

case

class meters(value:

double

)extends

anyval

case

class kilometers(value:

double

)extends

anyval

//報錯,因為建立的是meters型別 ,所以規定變數型別的時候不能是centimeters型別

val cm: centimeters =

new meters(

2.5)

}//定義centimeters類,建構函式有乙個引數value

case

class centimeters(value:

double

)extends

anyval

//定義meters類

case

class meters(value:

double

)extends

anyval

//定義kilometers

case

class kilometers(value:

double

)extends

anyval

val cm: centimeters =

new meters(

2.5)

println(cm.value)

//250

//定義隱式轉換方法,定義乙個m轉cm的方法

implicit

def m2cm(x: meters)

: centimeters =

}//定義centimeters類,建構函式有乙個成員變數value

case

class centimeters(value:

double

)extends

anyval

//定義meters類

case

class meters(value:

double

)extends

anyval

//定義kilometers

case

class kilometers(value:

double

)extends

anyval

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關鍵字宣告的帶有單個引數的函式,這樣的函式將被自動應用...