scala - 在Scala中调用注释 'methods'

标签 scala annotations

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

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

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

最佳答案

这应该可以解决问题:

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 {

}

关于scala - 在Scala中调用注释 'methods',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13413969/

相关文章:

java - 如何在 Scala 中从 JSON 解析通用类参数?

scala - 如何在 Play 中发送多部分/相关请求

java - 为什么 null 被禁止作为注释中的默认值?

java - javaFX 8 中@NamedArg 注释的目的是什么?

java - Lombok @Getter 和 @Setter 无法获取或设置对象的值

Scala 2.10 反射 : Creating an Array from a type

scala:如何包装子类构造函数的执行?

java - play框架使用不在/public文件夹中的图像

java - 泛型 - 正确处理原始类型警告 :

scala:注释访问器方法