2012-05-01 4 views
6

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

は、Javaコードは、コードのこの部分は、そのtype以外Scalaで同じです

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

である、それはコンパイルされませんので、キーワードです。 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 
} 

答えて

15

あなたが得るためにバッククォートを使用することができます違法識別子の周囲:

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

は、だからあなたのコードで、あなたはこれを行うことができます。

val hasType = new HasType 
hasType.`type`() // no error 
+0

優秀な、私は道があったしなければならないことを知って、それは私が探していただけのものです。 – iain

関連する問題