Scala隱式轉換類遇到的問題

2021-06-28 13:38:53 字數 663 閱讀 3345

今天練習scala的隱式轉換類遇到的乙個問題,測試**如下:

object implcittest 

}class richfile(val file: file)

object context

case class user(val name:string)

class person(val name: string, val age: int)

丟擲了下面的異常:

它的意思是:隱式轉換方法user2person方法應該在隱式轉換應用之前定義。

所以將**進行了如下修改,異常解決:

class richfile(val file: file) 

object context

case class user(val name:string)

class person(val name: string, val age: int)

object implcittest

}

由此得出的結論是:

1)如果隱式轉換的定義和應用在同乙個檔案中,則隱式轉換必須定義在應用點之前,並且在應用點之前需要進行匯入;

2)如果不在同乙個檔案中,只需要在應用點之前進行匯入即可;

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