Bob Herrmann Bob Herrmann - 2 months ago 7
Java Question

In Java, how do I dynamically determine the type of an array?

Object o = new Long[0]
System.out.println( o.getClass().isArray() )
System.out.println( o.getClass().getName() )
Class ofArray = ???


Running the first 3 lines emits;

true
[Ljava.lang.Long;


How do I get ??? to be type long? I could parse the string and do a Class.forname(), but thats grotty. What's the easy way?

Answer

Just Write

Class ofArray = o.getClass().getComponentType();