@sign做什么?

时间:2012-06-22 07:08:51

标签: java groovy

我在Groovy文件中看过at(@)符号,我不知道它是Groovy还是Java。我试图在Google,Bing和DuckDuckGo上搜索神秘的标志,但我还没有找到任何东西。任何人都可以给我一个资源,以了解更多关于这个运算符的作用吗?

4 个答案:

答案 0 :(得分:8)

这是一个Java annotation。阅读该链接的更多内容。

答案 1 :(得分:7)

除了作为注释的标志外,它还是Groovy Field operator

在Groovy中,调用object.field调用getField方法(如果存在)。如果您确实想要直接引用字段本身,请使用@,即:

class Test {
  String name = 'tim'

  String getName() {
    "Name: $name"
  }
}

def t = new Test()
println t.name   // prints "Name: tim"
println t.@name  // prints "tim"

答案 2 :(得分:2)

'@'是java / Groovy中的注释查看演示:Example with code

Java 5及更高版本支持使用注释在程序中包含元数据。 Groovy 1.1及更高版本也支持此类注释。

  • 注释用于向工具和库提供信息。

  • 它们允许声明式提供元数据信息,并允许将其直接存储在源代码中。

  • 此类信息需要使用非声明性手段或使用外部文件提供。

答案 3 :(得分:1)

使用Groovy的XmlSlurper解析XML时,它也可用于访问属性:

def xml = '''<results><result index="1"/></results>'''
def results = new XmlSlurper().parseText(xml)
def index = results.result[0].@index.text() // prints "1"

http://groovy.codehaus.org/Reading+XML+using+Groovy's+XmlSlurper