У меня есть объект, значения которого я должен проверить вне проблемы, некоторые из атрибутов Объектов являются массивами пользовательских объектов. Таким образом, это потребует некоторого углубления в отдельные элементы массива. Вырезание геттеров для каждого элемента, например:
AttribGrp[] x = Object.getAttribGrp()
x[i].getSomeValue()
Это то, к чему мне нужно добраться. Я извлек данные с помощью Enum со списком атрибуты следующим образом.
public String getAttribValueAsString(MethodEnum attribName)
{
String attribValue = null;
Object value = getAttrib(attribName.toString());
if (value != null)
attribValue = value.toString();
return attribValue;
}
вызов:
private Object invoke(String methodName, Object newValue)
{
Object value = null;
try
{
methodInvoker.setTargetMethod(methodName);
if (newValue != null)
methodInvoker.setArguments(new Object[]{newValue});
else
methodInvoker.setArguments(new Object[]{});
methodInvoker.prepare();
value = methodInvoker.invoke();
}
catch (ClassNotFoundException e)
{
throw new IllegalStateException("Method invocation failed. " + e.getMessage(),e);
}
catch (NoSuchMethodException e)
{
throw new IllegalStateException("Method invocation failed. " + e.getMessage(),e);
}
catch (InvocationTargetException e)
{
throw new IllegalStateException("Method invocation failed. " + e.getMessage(),e);
}
catch (IllegalAccessException e)
{
throw new IllegalStateException("Method invocation failed. " + e.getMessage(),e);
}
return value;
}
Я буду работать с рядом массивов разных типов и разных значений внутри массивов. Я хочу создать следующий метод.
public Object getAttribArray(RIORepeatingGrpEnum repeatingGrp)
{
repeatingGrp[] grp = null;
Object grpVal = getAttrib(repeatingGrp.toString());
if(grp != null)
grp = (repeatingGrp[]) grpVal;
return grp;
}
Это дает мне несколько ошибок, в основном связанных с RepeatingGrp []. Тип массива должен иметь то же имя, что и enum. Можно ли создать такой метод, который будет создавать массив неопределенного типа?