在Scala中调用注释'methods'

时间:2012-11-16 09:42:45

标签: scala annotations

在Java中我可以做以下事情:

String table = Foo.class.getAnnotation(Table.class).name();

如何在Scala中存档?甚至Java中定义的注释似乎也没有那些“name()”方法......

1 个答案:

答案 0 :(得分:3)

这应该可以解决问题:

val table = classOf[Foo].getAnnotation(classOf[Table]).name()

如果你有类似的东西,那就有用了:

@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
@java.lang.annotation.Target({java.lang.annotation.ElementType.ANNOTATION_TYPE})
public @interface Table {
    public String name();
}

这是Java源文件中应存在的注释定义。

和Foo类:

@Table(name="hello")
class Foo {

}