我有这个模式匹配只匹配字节值但是当我添加它时@switch
它说:
无法发出切换到 @switch 注释匹配
我在这里想念什么?
仅供参考,我已经尝试过但没有奏效:
- 将此常量移动到 Java 接口并使用
public static final byte
字段(我也尝试过制作它们int
而不是byte
) - 将字段标记为
final val
ScalaMessage
伴随对象 - 将字段标记为
@inline
伴随对象
我肯定在这里迷路了。
我有这个模式匹配只匹配字节值但是当我添加它时@switch
它说:
无法发出切换到 @switch 注释匹配
我在这里想念什么?
仅供参考,我已经尝试过但没有奏效:
public static final byte
字段(我也尝试过制作它们int
而不是byte
)final val
ScalaMessage
伴随对象@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
但它已经足够好了)。