代码之家  ›  专栏  ›  技术社区  ›  vlood

比较同一类中有大量字段的两个对象

  •  8
  • vlood  · 技术社区  · 15 年前

    你知道有什么更简单的方法吗?Java中的反射可能是一个解决方案,但在我看来,它就像一个黑客。我还是在寻求一个解决方案。

    4 回复  |  直到 15 年前
        1
  •  4
  •   Anders Abel    15 年前

    1. 使用reflection(在C#)运行时并循环比较cla的字段。如果希望能够排除某些字段,可以通过创建属性类并标记不希望与该属性比较的字段来实现。

    2. 使用反射以相同的方式在字段上循环,并生成所需的比较代码。这样,您将拥有“真实”的代码,但不必自己编写和维护。属性可用于微调生成的比较代码。

        2
  •  1
  •   mathk    15 年前

    最好的方法是重构你的代码,一百个字段就是最好的方法。

    如果不能,因为是遗留代码,请找出使它们相等的属性。

        3
  •  0
  •   Dr Herbie    15 年前

    如果幸运的话,您将识别实例中唯一的一个或两个属性——特别是在类表示数据库实体的情况下——并且只需比较这些唯一属性。

        4
  •  0
  •   kÍ©eÍ£mÍ®pÍ¥ Í©    15 年前

    使用正则表达式查找和替换。当您必须添加字段*(删除的字段会导致编译错误)时,这是一种痛苦,但是您可以从编译代码中获得好处。

    推荐文章