Я пытаюсь сравнить значения полей двух разных объектов в общем виде. У меня есть функция (см. ниже), которая принимает два объекта, а затем получает поля, а затем сравнивает поля в цикле и добавляет поля в список, если они не совпадают - это правильный способ сделать это?
public void compareFields(Object qa, Object qa4) throws FieldsNotEqualException
{
Field[] qaFields = qa.getClass().getFields();
Field[] qa4Fields = qa4.getClass().getFields();
for(Field f:qaFields)
{
for(Field f4:qa4Fields)
{
if(f4.equals(f))
{
found = true;
break;
}
else
{
continue;
}
}
}
if(!found)
{
report.add(/*some_formatted_string*/) //some global list
throw new FieldsNotEqualException();
}
}
Я гуглил и увидел, что в С# есть класс PropertyInfo - есть ли что-нибудь подобное в Java? ТАКЖЕ, есть ли способ сделать как f.getFieldValue()
- я знаю, что такого метода нет, но, может быть, есть другой способ???