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

Reply via email to