Scala中的模式匹配如何在字节码级别实现?
Scala中的模式匹配如何在字节码级别实现? 它像一系列if (x instanceof Foo)结构,还是其他?它对性能有何影响? 例如,给定以下代码(来自Scala By Example第46-48页),该方法的等效Java代码将如何显示eval? abstract class Expr case class Number(n: Int) extends Expr case class Sum(e1: Expr, e2: Expr) extends Expr def eval(e: Expr): Int = e match { case Number(x) => x case Sum(l, r) => eval(l) + eval(r) } PS我可以读取Java字节码,因此字节码表示形式对我来说已经足够了,但其他读者可能更清楚知道它看起来像Java代码一样好。 PPS《Scala中的编程》一书是否对此问题以及有关如何实现Scala的类似问题给出了答案?我已订购这本书,但尚未到货。