Scalaベース-getOrElse()メソッド

1027 ワード

getOrElse()は主に防犯対策であり、値があればこの値を得ることができ、なければデフォルト値を得ることができ、個人的には早期開発中にgetOrElse()メソッドを使うほうがget()メソッドを使うよりずっと安全だと考えています.
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の値は必ずキー値ペアの形式になると思います.