我有这个模式匹配只匹配字节值但是当我添加它时@switch它说:
无法发出切换到 @switch 注释匹配
我在这里想念什么?
仅供参考,我已经尝试过但没有奏效:
- 将此常量移动到 Java 接口并使用
public static final byte字段(我也尝试过制作它们int而不是byte) - 将字段标记为
final valScalaMessage伴随对象 - 将字段标记为
@inline伴随对象
我肯定在这里迷路了。
我有这个模式匹配只匹配字节值但是当我添加它时@switch它说:
无法发出切换到 @switch 注释匹配
我在这里想念什么?
仅供参考,我已经尝试过但没有奏效:
public static final byte字段(我也尝试过制作它们int而不是byte)final valScalaMessage伴随对象@inline伴随对象我肯定在这里迷路了。
scala-user论坛提供的答案是使 vals 最终化并删除Byte注释:
object Message {
final val Authentication = 'R'
final val BackendKeyData = 'K'
final val Bind = 'B'
final val BindComplete = '2'
}
现在@switch正确生成 a lookupswitch(它不会生成 atableswitch但它已经足够好了)。