stuff.toArray() would normally return an object of type Object[] - which is
an
array of Objects. The contents of the array could be of any type subclassed
from
Object, but the type of the array is fixed to Object[].
By specifiying an input param to the toArray method, stuff.toArray(new
Hashtable[0])
specifies the desired type of the returned object. In this case, the actual
type of
the returned object will be Hashtable[], the same type as the parameter
array.
This is done so that a successful cast to the correct type can be made.
-AMT
> -----Original Message-----
> From: A mailing list about Java Server Pages specification and reference
> [mailto:[EMAIL PROTECTED]]On Behalf Of Robert Nicholson
> Sent: Wednesday, May 17, 2000 11:19 AM
> To: [EMAIL PROTECTED]
> Subject: Re: Offtopic: Quick Java programming question...
>
>
> What does this do?
>
> return (HashTable[])stuff.toArray(new HashTable[0]);
>
> ----- Original Message -----
> From: "Scott Costa" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, May 17, 2000 10:15 AM
> Subject: Offtopic: Quick Java programming question...
>
>
> > I'm trying to write a method which returns an array of
> Hashtables, and in
> > the method, I am assembling the data as a vector, and trying to user
> > "toArray()" to return the data as an array.
> > Something like this:
> >
> > private Hashtable[] getStuff() {
> > Vector stuff = new Vector();
> > Hashtable ht = new Hashtable();
> > ht.put("A", "Stuff A");
> > ht.put("B", "Stuff B");
> > stuff.add(0, ht);
> > return (Hashtable[]) stuff.toArray();
> > }
> >
> > This compiles great, but when I execute the line:
> > Hashtable[] test = getStuff();
> >
> > I get a java.lang.ClassCastException. The only way I have been able to
> get
> > this to work, is to have the function return "Object[]", and explicitly
> cast
> > the returned object everytime I reference it, but I would like
> to make the
> > function simply return an array of Hashtable objects.
> >
> > Any ideas on why the code above doesn't work, or how I can get
> it to work?
> >
> > Thanks,
> > Scott Costa
> > [EMAIL PROTECTED]
> >
> >
> ==================================================================
> =========
> > To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
> JSP-INTEREST".
> > Some relevant FAQs on JSP/Servlets can be found at:
> >
> > http://java.sun.com/products/jsp/faq.html
> > http://www.esperanto.org.nz/jsp/jspfaq.html
> > http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
> > http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets
> >
>
> ==================================================================
> =========
> To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
> JSP-INTEREST".
> Some relevant FAQs on JSP/Servlets can be found at:
>
> http://java.sun.com/products/jsp/faq.html
> http://www.esperanto.org.nz/jsp/jspfaq.html
> http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
> http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets
>
> ==================================================================
> =========
> To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
> JSP-INTEREST".
> Some relevant FAQs on JSP/Servlets can be found at:
>
> http://java.sun.com/products/jsp/faq.html
> http://www.esperanto.org.nz/jsp/jspfaq.html
> http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
> http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets
>
===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST".
Some relevant FAQs on JSP/Servlets can be found at:
http://java.sun.com/products/jsp/faq.html
http://www.esperanto.org.nz/jsp/jspfaq.html
http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets