java - 检查接口的两个对象是否相等(不覆盖)
问题描述
我有一个界面:
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是否相同?我无权修改接口代码。[我读到了覆盖内置方法]
解决方案
推荐阅读
- javascript - 有转义字符问题的 Javascript 在它是一个对象时变成了两次
- sql - 我如何添加表的以下三个字段的值并将其存储到 DB2 查询中的用户定义字段中
- c# - 标签应该打开一个新窗口,但它不适用于ieDriver
- vue.js - 设置自定义编辑器显示 kendoDropDownList 不是函数
- c++ - 运行代码时出现 C++ 编译器错误(seg fault core dumped)
- javascript - 在vue js中显示和隐藏框onclick
- javascript - 如果应用程序部署在集群上,则重复的 html 元素
- operating-system - MMU如何获取中断向量的物理地址?
- php - PhpMailer 不在邮件正文中嵌入图像但附加
- javascript - 如何在 WebStorm 的外部库中加载 jQuery?