BTW Your second Scenario will throw a NullPointerException. Here if you use
the second Scenario with the following code,
Advertisement advertisement = new Advertisement();
Vector advVector = new Vector();
while (rs.next())
{
advertisement.setAdvertisementID (id);
advertisement.setAdvertisementText(rs.getString(AD_TEXT));
advVector.add(advertisement);
}
You will only have one object instance in your advVector (multiple times). I
am sure you can think all these things. In your previous example, both the
statements are same more or less.
-----Original Message-----
From: A mailing list for discussion about Sun Microsystem's Java Servlet
API Technology. [mailto:[EMAIL PROTECTED]]On Behalf Of
Sushil Singh
Sent: Wednesday, June 13, 2001 3:39 PM
To: [EMAIL PROTECTED]
Subject: Re: Basic Object Reference Question
Hi All:
Thanks for all your comments.
Another better example is:
First Senario
=========
Advertisement advertisement = null;
Vector advVector = new Vector();
while (rs.next())
{
advertisement = new Advertisement();
advertisement.setAdvertisementID (id);
advertisement.setAdvertisementText(rs.getString(AD_TEXT));
advVector.add(advertisement);
}
Secound Senario
=========
Advertisement advertisement = new Advertisement();
Vector advVector = new Vector();
while (rs.next())
{
advertisement = null;
advertisement.setAdvertisementID (id);
advertisement.setAdvertisementText(rs.getString(AD_TEXT));
advVector.add(advertisement);
}
Which one is better? In first case, I am creating instance of
Advertistemnet
object in a loop, but in secound example its outside the loop.
Awaiting feedback.
Thanks
Sushil
Jason Kilgrow wrote:
> It depends on whether or not you are planning to use catID for something
else.
> If your concern is that a new string object will be made in the while
loop,
> don't worry about it. That's going to happen either way. I think the issue
is
> going to come down to reusing catID. If you aren't going to reuse it (you
> aren't in your examples), then I say go with the first snippet. Because
whether
> you are going to make a new string object either way.
>
> --- Sushil Singh <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > I am having a basic object reference question. Consider the following
> > code snippet:
> > while (rootRs.next())
> > {
> >
> > categories.addElement(getCategory(rootRs.getString("cat_id")));
> > }
> >
> > Another code snippet:
> > String catID = "";
> > while (rootRs.next())
> > {
> > catID = rootRs.getString("cat_id");
> > categories.addElement(getCategory(catID));
> > }
> >
> > Now my question is which one is better? When we say
> >
> > categories.addElement(getCategory(rootRs.getString("cat_id")));
> >
> > then we are getting a reference to the resultset string object or its
> > new object. If its a new String object, then the while loop will be
> > creating n no of objects throughout the loop!!!
>
> __________________________________________________
> Do You Yahoo!?
> Get personalized email addresses from Yahoo! Mail - only $35
> a year! http://personal.mail.yahoo.com/
>
>
___________________________________________________________________________
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the
body
> of the message "signoff SERVLET-INTEREST".
>
> Archives: http://archives.java.sun.com/archives/servlet-interest.html
> Resources: http://java.sun.com/products/servlet/external-resources.html
> LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html