首页 > 解决方案 > 检查接口的两个对象是否相等(不覆盖)

问题描述

我有一个界面:

interface Query
{
    Set<SelectExpression> getSelectRows();

    String getWhereClause();
}

我有一个类,我想检查这个接口的两个不同实现是否产生相同的结果。

当我做 :

案例 1:if (query1.equals(query2))我得到一些哈希码,但它们不一样。

案例2:if (query1.getSelectRows().equals(query2.getSelectRows()))它们是相同的。

案例3:if (query1.getWhereClause().equals(query2.getWhereClause()))它们是相同的。

无论如何在不更改接口的情况下检查query1和query2是否相同?我无权修改接口代码。[我读到了覆盖内置方法]

标签: javaobjectif-statementinterfaceequals

解决方案


推荐阅读