6

私はいくつかのJavaコードをscalaに移植しようとしています。コードは、というメンバーのアノテーションを使用していますtypeが、これはscalaのキーワードです。この有効なJavaメンバーをscalaでアドレス指定する方法はありますか?

これがJavaコードです

@Component(
        name = "RestProcessorImpl",
        type = mediation // Compile error
        )
public class RestProcessorImpl {
 // impl
}

コードのこの部分typeは、キーワードであるためコンパイルされないことを除いて、scalaでも同じです。typeキーワードをエスケープする方法はありますか?

typeこれは、メンバーを持つJavaクラスの問題でもあります

HasType.java

package spike1;

public class HasType {
    public String type() { 
        return "the type";
    }
}

UseType.scala

class UseType {
    def hasType = new HasType
    hasType.type() // Compile error
}
4

1 に答える 1

15

バックティックを使用して、不正な識別子を回避できます。

val type = 1    // error
val `type` = 1  // fine

したがって、コードを使用して、これを行うことができます。

val hasType = new HasType
hasType.`type`()   // no error
于 2012-05-01T15:33:19.997 に答える