9

我在 Groovy 文件中看到了 at (@) 符号,但我不知道它是 Groovy 还是 Java 的东西。我曾尝试在 Google、Bing 和 DuckDuckGo 上搜索标志的奥秘,但我没有找到任何东西。谁能给我一个资源来了解更多关于这个运营商的工作?

4

4 回答 4

9

这是一个 Java注释。在该链接上阅读更多内容。

于 2012-06-22T07:10:42.710 回答
8

除了作为注释的标志外,它还是Groovy 字段运算符

在 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"
于 2012-06-22T08:04:27.090 回答
2

它还可以用于在使用 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

于 2012-06-22T18:57:08.867 回答
2

'@' 是 java/Groovy 中的注解看演示:示例代码

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

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

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

  • 此类信息将需要以其他方式使用非声明性方式或使用外部文件来提供。
于 2012-06-22T07:12:59.623 回答