I have a
Class arrayOfFooClass = java.lang.reflect.Array.newInstance(fooClass, 0).getClass();
If you don't want to create an instance, you could create the canonical name of the array manually and get the class by name:
// Replace `String` by your object type. Class stringArrayClass = Class.forName( "[L" + String.class.getCanonicalName() + ";" );
But Jakob Jenkov argues in his blog that your solution is the better one, because it doesn't need fiddling with strings.
Class stringArrayClass = Array.newInstance(String.class, 0).getClass();