2010-04-08 26 views
1

根據Guillaume Laforge,在Groovy 1.6.1(我推測後面的版本)中可以直接在Groovy中定義註釋。但是,我無法理解下面的簡單示例。我試着在1.7.1版本Groovy的控制檯中運行以下命令:Groovy和註解 - 這個例子有什麼問題?

@Bar 
@Foo 
class A { } 

@interface Bar { } 
@interface Foo { } 

for(ann in new A().getClass().getAnnotations()) 
{ 
    println ann 
} 

運行在這個例子中,控制檯打印

@org.codehaus.groovy.classgen.GroovyCompilerVersion(value=1.7.1) 

,別無其他。我在這裏做錯了什麼?

Related question

回答

1

所以,我想通了。這與保留策略有關,我愚蠢地忘記了(大部分時間都花在C#上)。

添加策略會解決這個問題,例如:

@Retention(RetentionPolicy.RUNTIME) 
@interface Bar { }