일련의 if-else 문 내 타입 검사 및 타입 변환을 보고하고 패턴 매칭으로 바꿉니다.
예:
val value = 0
if (value.isInstanceOf[Int]) {
val x = value.asInstanceOf[Int] + 1
val y = value.asInstanceOf[Int] + 2
} else if (value.isInstanceOf[Long]) {
val x = value.asInstanceOf[Long]
println(x)
}
빠른 수정 적용 후:
val value = 0
value match {
case i: Int =>
val x = i + 1
val y = i + 2
case x: Long =>
println(x)
case _ =>
}