Why does groovy .class return a different value than .getClass()

Viewed 7985

According to http://groovy.codehaus.org/Things+you+can+do+but+better+leave+undone

  1. Accessing an object's type like a property

Using .class instead of .getClass() is ok - as long as you know exactly what kind of object you have. But then you don't need that at all. Otherwise, you run in the risk of getting null or something else, but not the class of the object.

a = [:] println a.class.simpleName // NullPointerException, because a.class is null.

Can someone explain why this is? Why does .class return something different than getClass()

2 Answers
Related