× 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.



Thanks James. Took you advice and change it to return a List object.

"James Perkins" <jrperkinsjr@xxxxxxxxx> wrote in message
news:<mailman.2262.1253030380.1811.java400-l@xxxxxxxxxxxx>...
Lim,
IIRC you are fairly new to Java. I am by no means a Java expert, but
I've
taught myself and been there so I thought I would give you a few tips.

Firstly, always try to use the most generic type possible. So, your
ArrayList should be a List, e.g. List<String> rs = new
ArrayList<String>();.

With a number as small as 20 there is no real need to construct it
with that
size.

If it were me I would probably also not return an array of strings,
but
return a collection of type string. If you are worried about it be
immutable
look at Collections.unmodifiableList().

Now, all that being said if you still need to return an array all you
need
to do is rs.toArray(new String[0]). This has to do with generics. The
default List.toArray() method will only return an array of objects.
The
List.toArray(T[]) is used to return the generic type. Without looking
at the
code I couldn't tell you why it's designed like that, but Joshua Bloch
had a
lot to do with the Collections library, so I trust there may be a good
reason.

At any rate I hope this helps. Let me know if you want any clearer
clarification.

--
James R. Perkins
http://twitter.com/the_jamezp


On Tue, Sep 15, 2009 at 06:49, hockchai Lim
<lim.hock-chai@xxxxxxxxxxxxxxx>wrote:

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:

}


--
This is the Java Programming on and around the iSeries / AS400
(JAVA400-L)
mailing list
To post a message email: JAVA400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/java400-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.