我有一段Java代码如下:
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
@BindingAnnotation
@Target({ FIELD, PARAMETER, METHOD })
@Retention(RUNTIME)
public @interface MessageCount {
}
这不是我的代码,但我正在尝试在Scala中重写它。我不太了解@interface构造。我也不明白这些注释是如何转换为Scala的。 或者是否有可能以某种方式在Scala中使用它?
我更喜欢在Scala中重写/移植它。我唯一能想到的就是把它写成Scala特征。
任何指针,建议表示赞赏。
答案 0 :(得分:1)
不,目前使用@Retention(RUNTIME)
的注释无法在Scala中编写。
或者是否有可能以某种方式在Scala中使用它?
是的,您可以在Scala中使用它。您可以在同一个项目中同时使用Scala和Java代码(Java代码通常转到src/main/java
,Scala代码转到src/main/scala
),它们甚至可以相互引用。