6

我有以下问题:我们有一个共享的 scala-java-project (与只编写 java 代码的成员),因此我们将 java 枚举用于一个目的。但是现在我想在scala中对这个枚举执行模式匹配,并用@switch对其进行优化,因为java switch实际上可以使用枚举。

但是编译器只会抱怨:

error: could not emit switch for @switch annotated match
(args.tileType: @switch) match {

其中 tiletype 是包含枚举值之一的字段。如何解决代码可以优化的问题?

4

1 回答 1

2

您使用 Java。

Scala 仅包含能够读取 Java 枚举所需的最低限度的内容。目前(通过 2.10)您无法在 Scala 中创建或优化使用它们。

于 2012-11-19T17:43:42.227 回答