Kap*_*pil 7 annotations scala match
从 scala 文档中,我理解 @switch 注释是告诉编译器验证匹配表达式是否已编译为 tableswitch 或 lookupswitch 并在编译为一系列条件表达式时发出错误。
现在我的问题是,如果编译成功,那么与根本不使用@switch 注释相比,它对生成的字节码有什么影响吗?
考虑以下两个示例代码版本,
版本 1
import scala.annotation.switch
val x = 5
(x: @switch) match {
case 1 => println("1")
case 2 => println("2")
case _ => println("something else")
}
Run Code Online (Sandbox Code Playgroud)
版本 2
val x = 5
(x) match {
case 1 => println("1")
case 2 => println("2")
case _ => println("something else")
}
Run Code Online (Sandbox Code Playgroud)
这不是两个版本都会在编译时产生相同的字节码指令吗?
| 归档时间: |
|
| 查看次数: |
1180 次 |
| 最近记录: |