× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.





My guess is:

return (String[]) rs.toArray(new String[rs.size()]);
works because new String[rs.size()] is unquestionably an array of
String. Cast is unnecessary.

return (String[]) rs.toArray();
doesn't work because rs.toArray() returns an array of Objects. I
don't think you can cast an array of objects into an array of Strings.

I think you have to cast them individually. Eg

Object[] outObjectArray = rs.toArray();
String[] outStringArray = String[outObjectArray.size)];
For( int i=0; I < outObjectArray.size; i++)
outStringArray[i] = (String)outObjArray[i];
return outStringArray;

-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx
[mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Lim Hock-Chai
Sent: Tuesday, September 15, 2009 9:29 AM
To: java400-l@xxxxxxxxxxxx
Subject: Re: casting error on ArrayList

Ok. Below works:

return (String[]) rs.toArray(new String[rs.size()]);

Weird.

"hockchai Lim" <lim.hock-chai@xxxxxxxxxxxxxxx> wrote in message
news:<mailman.2229.1253022928.1811.java400-l@xxxxxxxxxxxx>...
I'm getting a cast error "java.lang.ClassCastException:
[Ljava.lang.Object;
incompatible with [Ljava.lang.String;" and not sure why and how to
resolve
it. Help. . . ..

ArrayList<String> rs = new ArrayList<String>( 20 );

String str;

bin= new BufferedReader(new
InputStreamReader(process.getInputStream()));

while ((str = bin.readLine()) != null) {

rs.add(str);

}


return (String[]) rs.toArray(); // =======> Getting the casting
error:

}



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.