I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this:<
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();