2011-07-15 7 views
5

Todos los examples veo de usar hasProperty o respondsTo muestran que se invoca en un metaClass. ¿Hay una razón por la que estos métodos no deben ser invocados en el objeto en sí, así:Groovy hasProperty/responde a

def propertyName = 'time' 

if (new Date().hasProperty(propertyName)) 
    println 'yes' 
else 
    println 'no' 

Respuesta

5

El tema se discute en este thread. Parece que se refieren a lo mismo en las versiones actuales de Groovy, pero este no siempre fue el caso, ya que solo el metaClass tenía esa llamada.