> A benefit of the #2 approach over the #1
  approach is that the variable 'formcomments'
  will not exist in a 'null' state.  

Actually, the #2 approach is NOT safe. There is no guarantee that the value
returned by attr.getFormComments() will not change between calls (even in a
single-thread environment, the call could cause an internal counter to
increment, for example); it could be non-null on the first call and null on
the second, in which case the logic fails, and worse, fails in an unexpected
manner. Consider this pseudocode:

Object f ()
{
        If (rand() > 0.5) return someNonNullObject;
        else return null;
}

Object x = (f() == null) ? "" : f();

The resulting value of x is not predictable; it has a 50% change of being
null or not null.

This is why you should code clearly first and optimize later, preferably
with a more scientific approach (e.g., a profiler, etc.).

David

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Rippy, Jonathan
Sent: Thursday, July 22, 2004 2:24 PM
To: Research Triangle Java User's Group mailing list.
Subject: RE: [Juglist] RE: Which is more efficient?


I would say example #1 is potentially more efficient.  Example #2
invokes a method on a object instance twice and this could result in a
resource intensive operation occuring twice.  Of course, it appears to
be a simple getter method and it probably does not do that, but I assume
you are asking the question in general.

A benefit of the #2 approach over the #1 approach is that the variable
'formcomments' will not exist in a 'null' state.  With #1 someone could
come along and interject code between your first and second steps and
cause a problem (unlikely of course, but it is a potential issue.)


--
Jonathan Rippy



-----Original Message-----
From: Tony Spencer [mailto:[EMAIL PROTECTED] 
Sent: Thursday, July 22, 2004 2:18 PM
To: 'Research Triangle Java User's Group mailing list.'
Subject: [Juglist] RE: Which is more efficient?


Sorry.  My stupid email client dropped some carriage returns.

Example 1:
----------
String formcomments = attr.getFormComments();

formcomments = (formcomments == null) ? "" : formcomments;


Example 2:
----------
String formcomments = (attr.getFormComments()== null) ? "" :
attr.getFormComments();

T O N Y  S P E N C E R
Notsleepy LLC
6512 Six Forks Rd.
Suite 502-B 
Raleigh, NC 27615
Phone: 919.848.0691
Mobile: 415.637.6481
[EMAIL PROTECTED] 



_______________________________________________
Juglist mailing list
[EMAIL PROTECTED]
http://trijug.org/mailman/listinfo/juglist_trijug.org

Reply via email to