报告在一系列 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 _ =>
}