无法在scala中设置名为type的java注释成员?
我正在尝试将一些java代码移植到scala。代码使用带有名为无法在scala中设置名为type的java注释成员?,java,scala,scala-java-interop,Java,Scala,Scala Java Interop,我正在尝试将一些java代码移植到scala。代码使用带有名为type的成员的注释,但这在scala中是一个关键字。有没有办法在scala中处理这个有效的java成员 下面是Java代码 @Component( name = "RestProcessorImpl", type = mediation // Compile error ) public class RestProcessorImpl { // impl } 这部分代码在scala
type
的成员的注释,但这在scala中是一个关键字。有没有办法在scala中处理这个有效的java成员
下面是Java代码
@Component(
name = "RestProcessorImpl",
type = mediation // Compile error
)
public class RestProcessorImpl {
// impl
}
这部分代码在scala中是相同的,只是type
是一个关键字,所以它不会编译。有没有办法转义type
关键字
对于具有类型
成员的java类,这也是一个问题
HasType.java
package spike1;
public class HasType {
public String type() {
return "the type";
}
}
class UseType {
def hasType = new HasType
hasType.type() // Compile error
}
UseType.scala
package spike1;
public class HasType {
public String type() {
return "the type";
}
}
class UseType {
def hasType = new HasType
hasType.type() // Compile error
}
您可以使用反勾号绕过非法标识符:
val type = 1 // error
val `type` = 1 // fine
因此,使用您的代码,您可以执行以下操作:
val hasType = new HasType
hasType.`type`() // no error
好极了,我知道一定有办法,那正是我一直在寻找的。