Scalaベース-getOrElse()メソッド
1027 ワード
getOrElse()は主に防犯対策であり、値があればこの値を得ることができ、なければデフォルト値を得ることができ、個人的には早期開発中にgetOrElse()メソッドを使うほうがget()メソッドを使うよりずっと安全だと考えています.
APIから分かるように、入力されたパラメータは(key,default)という形式であり、戻り値は:keyがあればget(key)、なければdefaultを返し、get()メソッドを見てみましょう.
keyが渡され、このkeyのマッピングが得られます.注意:get()メソッドを単独で呼び出すと、ここではOptionが返され、値を返すにはget:get()を続行する必要があります.get
簡単な例を見てみましょう
結果:
明らかに、1,2のvalueを取得したい場合、mapには値があり、取得できますが、3の値を取得したい場合、mapには存在せず、デフォルト値しか取得できません.getOrElseの値は必ずキー値ペアの形式になると思います.
def getOrElse[B1 >: B](key: A, default: => B1): B1 = get(key) match {
case Some(v) => v
case None => default
}
APIから分かるように、入力されたパラメータは(key,default)という形式であり、戻り値は:keyがあればget(key)、なければdefaultを返し、get()メソッドを見てみましょう.
def get(key: A): Option[B]
keyが渡され、このkeyのマッピングが得られます.注意:get()メソッドを単独で呼び出すと、ここではOptionが返され、値を返すにはget:get()を続行する必要があります.get
簡単な例を見てみましょう
object Test5 {
def main(args: Array[String]): Unit = {
var map=Map[Int,String]()
map+=(1->"one",2->"two")
println(map.getOrElse(1,"default"))
println(map.getOrElse(2,"default"))
println(map.getOrElse(3,"default"))
}
}
結果:
one
two
default
明らかに、1,2のvalueを取得したい場合、mapには値があり、取得できますが、3の値を取得したい場合、mapには存在せず、デフォルト値しか取得できません.getOrElseの値は必ずキー値ペアの形式になると思います.