For types that implement java.util.Map, Groovy offers specialized support for property access. Instance fields can only be referenced using the attribute operator (.@). Instance methods can be referenced through a call expression or method pointer/reference operator (.& or ::). Property access through the dot operators (. and .? and probably .*) creates references to map entries instead of fields, properties or methods. And the call operator (()) can also be used to retrieve a value and "call" the result.
Current IDE support for these many variations, including references inside closures that do not have explicit object expressions is a mixed bag (see below).


For types that implement
java.util.Map, Groovy offers specialized support for property access. Instance fields can only be referenced using the attribute operator (.@). Instance methods can be referenced through a call expression or method pointer/reference operator (.&or::). Property access through the dot operators (.and.?and probably.*) creates references to map entries instead of fields, properties or methods. And the call operator (()) can also be used to retrieve a value and "call" the result.Current IDE support for these many variations, including references inside closures that do not have explicit object expressions is a mixed bag (see below).