Groovy 使用注释作为方法参数

Groovy 使用注释作为方法参数,groovy,annotations,Groovy,Annotations,这是一个与Groovy编程语言类似的问题,但这个问题是否适用于Groovy编程语言 在Groovy中,是否可以使用类注释作为类型化方法参数。例如,这是您的注释 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface Entity { } 然后 然后呢 interface Persister { void persist(Entity entity); } ? 谢谢是的。从某个成员

这是一个与Groovy编程语言类似的问题,但这个问题是否适用于Groovy编程语言

在Groovy中,是否可以使用类注释作为类型化方法参数。例如,这是您的注释

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Entity {
}
然后

然后呢

interface Persister {
     void persist(Entity entity);
}
?


谢谢

是的。从某个成员获取
实体
类时,可以获取该实体的实例:

import java.lang.annotation.*

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@interface Entity { }


@Entity
class Car { }


def persist(Entity entity) {
  println "entity=$entity"
}


car = new Car()
entity = car.class.getAnnotation(Entity)
persist entity // this will print "entity=@Entity()"
import java.lang.annotation.*

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@interface Entity { }


@Entity
class Car { }


def persist(Entity entity) {
  println "entity=$entity"
}


car = new Car()
entity = car.class.getAnnotation(Entity)
persist entity // this will print "entity=@Entity()"