相关疑难解决方法(0)

使用反射比较字段值

我试图以通用方式比较两个不同对象的字段值.我有一个函数(如下所示),它接收两个对象,然后获取字段,然后比较循环中的字段,如果它们不相同,则将字段添加到列表中 - 这是正确的方法吗?

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();
 }
}
Run Code Online (Sandbox Code Playgroud)

我在谷歌搜索,我看到C#有一个PropertyInfo类 - Java有这样的东西吗?还有,有办法做f.getFieldValue()- 我知道没有这样的方法,但也许有另一种方式???

java reflection field

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

field ×1

java ×1

reflection ×1