使用Scala在方法中搜索注释

使用Scala在方法中搜索注释,scala,annotations,Scala,Annotations,以下代码无法编译(Output不是java.reflect.annotation.annotation)类型: 类输出(val name:String)扩展注释 类块{ def输出{ 为了{ 方法您的Block.getClass应该是classOf[Block]getClass在实例上工作 (java等价物:x.getClassx.getClass()classOf[x]x.class.C等价物:x.getClassx.GetType()

以下代码无法编译(
Output
不是
java.reflect.annotation.annotation
)类型:

类输出(val name:String)扩展注释
类块{
def输出{
为了{

方法您的
Block.getClass
应该是
classOf[Block]
getClass
在实例上工作


(java等价物:
x.getClass
x.getClass()
classOf[x]
x.class
.C等价物:
x.getClass
x.GetType()
typeof(x)

在Scala中似乎没有办法实现这一点(目前),因此我们应该求助于使用Java类:

import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Output {
    public String value();
}

你应该指出你的错误是什么。Thx,但我实际上想要这个。getClass。即使如此,错误仍然存在。这就是为什么你应该真正告诉你的错误是什么。这比查看代码和猜测哪里可能有问题更容易
import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Output {
    public String value();
}