You are thinking that an array has an array hierarchy above it. This is not so: an Integer array, for instance, has only Object above it. (Also, every array IS-A Cloneable and java.io.Serializable.)
I think you will have to loop through the Object array and cast the individual elements to Integer. Alternatively, do you control the code so that you can avoid the need to manipulate an Object array and deal only with an Integer array.
The problem is that the original object was created as type Object.
This is why in the classes like ArrayList you have two toArray methods. One that takes no arguments and returns an Object and one that takes an Object (which is meant to be a subclass such as Integer) and uses reflection to return the correct type of array so that you can cast it. [ May 10, 2005: Message edited by: Steven Bell ]