This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Hi, I am trying to understand why this piece of code does not give a null pointer exception: Stringtest = null; test.valueOf(someDoubleValue); someDoubleValue is any double number. Is this because valueOf() is a static method? Thank you.
Originally posted by Sonia Kapoor: Is this because valueOf() is a static method?
Yes. As you know, an object isn't needed to call the static method. The compiler generates code here that never actually uses the variable "test" -- the compiled code just mentions the String class, where the method is defined.
Note that a good IDE (development environment) will warn you here, saying that you're calling a static method via a non-static context -- which is bad style, even though it's not an error.