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

"James Perkins" <jrperkinsjr@xxxxxxxxx> wrote in message
IIRC you are fairly new to Java. I am by no means a Java expert, but
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

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

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

Now, all that being said if you still need to return an array all you
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.
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

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

James R. Perkins

On Tue, Sep 15, 2009 at 06:49, hockchai Lim

I'm getting a cast error "java.lang.ClassCastException:
incompatible with [Ljava.lang.String;" and not sure why and how to
it. Help. . . ..

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

String str;

bin= new BufferedReader(new

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



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


This is the Java Programming on and around the iSeries / AS400
mailing list
To post a message email: JAVA400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
or email: JAVA400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives

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-2022 by 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.