2012-05-01 15 views
6

我想将一些java代码移植到scala。该代码使用名为type的成员使用注释,但这是scala中的关键字。有没有办法在scala中解决这个有效的java成员?无法在scala中设置一个名为type的java注释成员?

这里是Java代码

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

的这部分代码是不同的是type阶相同是一个关键字,因此不会编译。有没有办法逃避type关键字?

这也是一个问题,Java类与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

相关问题