読者です 読者をやめる 読者になる 読者になる

by shigemk2

当面は技術的なことしか書かない

暗黙の型変換

Scala

普通String型の変数にInt型のデータを代入しようとするとエラーになるが、 implicitキーワードが付与された関数を使うことで、 型のチェックエラーを修正するためにコンパイラがプログラムに挿入され 暗黙の型変換が行われる。

scala> val str:String = 10
<console>:7: error: type mismatch;
 found   : Int(10)
 required: String
       val str:String = 10
                        ^
scala> implicit def intToString(num:Int):String = {
     | println("数値から文字列へ変換")
     | num.toString
     | }
warning: there were 1 feature warning(s); re-run with -feature for details
intToString: (num: Int)String

scala> val str:String = 10
数値から文字列へ変換
str: String = 10