@ ддимитров - правильный ответ. Вставьте в код это выглядит так:
public <T> Class<T> testArray(T[] array) {
return array.getClass().getComponentType();
}
В более общем смысле, мы можем сначала проверить, представляет ли тип массив, и затем получить его компонент:
Object maybeArray = ...
Class<?> clazz = maybeArray.getClass();
if (clazz.isArray()) {
System.out.printf("Array of type %s", clazz.getComponentType());
} else {
System.out.println("Not an array");
}
Конкретным примером будет применение этого метода к массиву, для которого тип компонента уже известен:
String[] arr = {"Daniel", "Chris", "Joseph"};
arr.getClass().getComponentType(); // => java.lang.String
Довольно просто!