Thought I would add a little more detail. I'm using Groovy 2.3.7. I thought this might be somehow related to Groovy's NullObject, but you are supposed to be able to call getClass() on NullObject based on info I have found online. The very next line of my code is to just call icf.getClass() and that is when the NullPointerException is thrown.
I'm going to go back and play around with the instantiation some more and see if that adds any more clues. I'm not sure what the repercussions are of using ICF icf (vs def icf) are. -----Original Message----- From: Scott Arnold [mailto:[email protected]] Sent: Wednesday, July 13, 2016 10:01 AM To: [email protected] Subject: Non-Null Object Is Null I'm new to Groovy (lots of Java experience but almost no Groovy experience) and maybe there is something very basic I am missing here, but I am running into the following issue in a Grails app (but I think it's a not understanding Groovy issue). I'm not sure I can break it down any further than I already have, so I am kind of stumped about what I am doing wrong here. In case you know Grails and want some detail on where this code is happening, I'm working on a pre-existing Grails app that calls a service from the BootStrap.groovy during application startup. The code I'm having a problem with is within the service class. Here's the code snippet: System.out.println("is icf null? " + (icf == null)); System.out.println("is icf not null? " + (icf != null)); System.out.println("what is icf? " + icf); And here's the output: is icf null? false is icf not null? true what is icf? Null If I try to call a method on icf, I get a NullPointerException. However, earlier in the code icf is created (currently it is created Java-style rather than using def, as in ICF icf = new ICF()) and the code tries to set several property values within icf (e.g. icf.code = suchandsuch) and none of that throws any errors. What might be happening here? Thanks.
