Posts Tagged ‘software engineering’

On the Subjects of object == null and collection.size() == 0

Tuesday, July 28th, 2009

Let’s just get one thing straight here people, an object that is null does not mean the same thing as a collection/array of length zero. I’m sort of seeing this more and more as I continue my existence on this planet and I say we put a stop to this now. Take this example method declaration (written in Java):

public Collection<searchresult> getSearchResults(String searchTerm);</searchresult>

Straight forward enough, I would hope. This method takes in a searchTerm String, magic happens (ah abstraction), and a Collection of type SearchResult is returned. Now here is the kicker: what happens if the search query resulted in no results? What should be returned? And why?

(more…)