This week's book giveaway is in the Android forum.
We're giving away four copies of Head First Android and have Dawn & David Griffiths on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes java.lang.ArrayStoreException (S.O.S) Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Head First Android this week in the Android forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "java.lang.ArrayStoreException (S.O.S)" Watch "java.lang.ArrayStoreException (S.O.S)" New topic
Author

java.lang.ArrayStoreException (S.O.S)

Jack Danyells
Greenhorn

Joined: May 27, 2005
Posts: 3
If anyone has an idea as to how I can solve this please let me know:

I am running
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_07-b05)
Java HotSpot(TM) Client VM (build 1.4.2_07-b05, mixed mode)

In my method I have the following:

ProfileValue pv = new ProfileValue();
pv.setValue(rs.getString("profile_value_id"));
retVal.add(pv);


I call this method by doing the following:

Vector retVal = new Vector();
retVal = pm.setAllSubProfilesSelected(cid, topLevelIdsEqual);

Then when I try to convert the Vector into an Array it fails and throws an
java.lang.ArrayStoreException

This is the line that breaks: (all on one line)
String[] subLevelArray = (String[]) retVal.toArray(new String[retVal.size()]);
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24189
    
  34

Hi Jack,

You're putting ProfileValue objects into the Vector, and then trying to get the Vector to store them in a String[]; hence the exception. You have several choices: make the method put just the Strings into the Vector; use ProfileValue[] instead of String[] in the toArray() call -- or call toArray() with no arguments to get an Object[].


[Jess in Action][AskingGoodQuestions]
Jack Danyells
Greenhorn

Joined: May 27, 2005
Posts: 3
I resolved this thanks for the information though, I was adding objects not strings to the Vector.
Ilja Preuss
author
Sheriff

Joined: Jul 11, 2001
Posts: 14112
Notice that Strings are objects, too.


The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
 
Consider Paul's rocket mass heater.
 
subject: java.lang.ArrayStoreException (S.O.S)
 
jQuery in Action, 3rd edition