Я полагаю, что вам не хватает "е" в вызове метода, должно быть
я есть метод, который имеет список входных данных и каждое входное значение, я должен привести его к требуемому типу. (На самом деле этот список имеет значения параметров в «некоторой» форме, которую я должен преобразовать в требуемый тип, обязательный тип - это тип, который требуется для метода, это для вызова API через отражение)
Я написал такой код:
Type[] argTypes = method.getGenericParameterTypes();
List<Object> acutalValues = // List of actual values from method input.
// Resultant list of arguments which will holds casted values.
List<Object> arguments = new ArrayList<Object>(argTypes.length);
for (int i = 0; i < argTypes.length; i++) {
Class<?> requiredClassTYpe = (Class<?>) argTypes[i]; // argTypes[1] =java.util.List<java.lang.String> fails..
// cast the actual value to the required type. Required type is requiredClassType
arguments.add(castToRequiredType(requiredClassTYpe, actualValues.get(i)));
}
Сообщение об исключении выглядит так:
ClassCastException: Cannot cast sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl (id=77) to java.lang.Class
Теперь, если я изменю первую строку на
Type[] argTypes = method.getParameterTypes()
Тогда это передает любую идею, почему это могло бы случиться так?