2012-05-01 1 views
6

Я пытаюсь передать некоторый код Java в scala. Код использует аннотации с членом, который называется type, но это ключевое слово в scala. Есть ли способ адресовать этот действительный член java в scala?Невозможно установить элемент аннотации java, называемый типом в scala?

Вот код Java

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

Эта часть кода идентична Скале за исключением того, type это ключевое слово, чтобы он не компилируется. Есть ли способ избежать ключевого слова type?

Это также проблема с классами ява с type членом

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

 Смежные вопросы

  • Нет связанных вопросов^_^