On 12/4/13 7:20 AM, Andrew Douglas Pitonyak wrote:
> 
> On 12/03/2013 08:32 AM, Herbert Duerr wrote:
>> On 03.12.2013 13:02, Andre Fischer wrote:
>>> Additionally to this almost correct statement one could mention that
>>> isEmpty() is preferred over getLength()>0 and why.
>>
>> Yes, it is preferred for checking the emptiness because it directly
>> expresses what it checks.
>>
>> In general it is a good idea to check for emptiness instead of
>> counting the elements and then comparing against zero. Its the old
>> "interface vs. implementation detail" question. The result will be the
>> same from a mathematical standpoint but the effort to get this result
>> may be different. From an algorithmic complexity standpoint an
>> emptiness check is always equal or better. Maybe a mathematician can
>> provide some insights from the set theory on this question?
>>
>> By the way: the String class of Java>=6 got its isEmpty() method for
>> the same reasons.
> 
> As Herbert said, this directly expresses what it checks. I would add
> "and it reads better".
> 
> There are other reasons, however; for example, depending on the
> implementation, it may be significantly faster than comparing against
> the length. For one implementation it may not matter, but, if you change
> the implementation in the future, it may.
> 
> Uniformity is another possible reason (assuming other classes also
> implement isEmpty()). If you become used to using the expressive form
> (ie, using isEmpty() rather than comparing size), then you can leave
> optimizing the call to the class implementer rather than worrying about
> the correct way to do it. I have seen empty strings checked by comparing
> the length to zero, and even using a string compare against an empty
> string.
> 

and again to replace getLength() with isEmpty() can be something for
newbies to get more familiar with the code and do something useful.

Juergen



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org

Reply via email to