3

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

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

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

4

1 回答 1

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 {

}
于 2012-11-16T11:32:26.743 回答